|
" ~* K9 ?; S; E1 B / J1 d! E# J9 k7 Y
windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
- I: ]; Z3 P% o& o: ~7 [. V( k7 A而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 6 Q6 H U+ b2 v. P
假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:
. H) M1 N. [: ?# ^void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)
7 W9 S1 o0 v# J# g g3 `3 e4 P' f{) y/ x( p1 t- f( i+ y, Z# f
//TOD Add your source code here
2 h( K) x T% }+ T; C TCustomForm::CreateParams(Params);) ^9 g8 n% y8 X
Params.Style^=WS_CAPTION;6 x. |& q N7 O8 m3 Q& G
}
: i6 d' h& i; G9 l头文件里这样加:6 b/ E; S! `9 [5 s: h
public: // User declarations
* `: X0 P! k! t/ g
- k( g1 s6 B* j* K virtual void __fastcall CreateParams(Controls::TCreateParams & Params);
- a; ^ L5 [- d% h% C# W" J& s就OK了,
, m5 u# b- N6 {0 R. o0 e4 E
7 ?/ \+ X( F: T% d/ ] |