|
( M6 J# D8 A+ M( r$ P: L1 ?
: _# {4 b9 p! F' s/ Z windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。1 U6 ], l4 d) }1 H, G& ]
而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。
$ Z! O1 V5 J% V假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:$ n& Y+ l$ p6 |. K+ W; z9 y" Q
void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)
! D7 h1 G, d. k( O: v; n5 H6 c{7 Q) }' o' K% Y/ Q0 [- u, c
//TOD Add your source code here: a/ N: v! D4 O+ z
TCustomForm::CreateParams(Params);
1 q0 V s' ]0 l; Q5 M Params.Style^=WS_CAPTION;- r+ p G2 y: h) B
} 6 u; \3 p$ I9 i5 W
头文件里这样加:2 F9 e. R8 X p8 Z$ z% H/ k; O
public: // User declarations
5 y# K" V( V/ k0 u6 e c
6 X0 i* y1 g6 n! y' {0 M virtual void __fastcall CreateParams(Controls::TCreateParams & Params); # q" u1 G: ~- {' c' J9 a l6 L6 M
就OK了,; p+ H, ^! j0 h' x) q
* m# X1 ~) C0 {/ x) @5 v. i$ U
|