|
8 R: E1 A } v# S8 J6 b5 H
% G! q8 F/ M( Q5 a windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
! q* v; N+ [1 f1 ^1 n. [, e而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 7 K& J# a6 L; a' D
假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:9 E4 c% \6 [8 @) |* O/ R) A
void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)9 d; i2 l( C0 B0 U: ~ u
{
5 s" [- D' w$ {8 _5 I6 k //TOD Add your source code here6 M, R: V1 R/ w! I+ u4 S+ P
TCustomForm::CreateParams(Params);
. t& }- D. W6 L, m+ f, J8 E5 B* C' M0 F Params.Style^=WS_CAPTION;
% l4 k6 t- w+ y5 q4 c# [9 t} % C: z. k3 x9 }4 G ^; E8 u, j
头文件里这样加:+ r% W! F" j; U0 l% b9 N
public: // User declarations
$ |+ T+ T( V0 ^8 g! O# I+ W* x: U( e
6 `2 I$ D S( Y/ s2 z4 ]& H4 e virtual void __fastcall CreateParams(Controls::TCreateParams & Params); 5 W1 m: e$ P4 o: a
就OK了,6 p/ M( d8 l7 B# o
6 g. G$ z+ b- [ |