|
. f+ K' o$ r6 a! w$ ?. z' T
9 Z% n& p2 g/ | j/ V windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
. |, q! L7 @3 J8 e0 S而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。
) p' R. E5 Y6 T$ x- {- y假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:
$ c6 m: Y4 N3 t% b3 wvoid __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)
$ h; n5 r0 M- O% D5 S! J{1 J7 E2 Q6 Z4 u* O `' X4 a
//TOD Add your source code here1 n, X! x' o/ z$ i+ ~7 m% \% _
TCustomForm::CreateParams(Params);
5 ]2 L2 J+ A+ l% a" w0 }; g) S Params.Style^=WS_CAPTION;
& V {4 W. g0 a% P6 T}
0 H! F) i5 V& q0 [4 {头文件里这样加:/ W2 y7 x# G- S' s: C. c
public: // User declarations. H) z3 T+ q% ~: i' V- H* h
* p/ r( F5 Y/ N
virtual void __fastcall CreateParams(Controls::TCreateParams & Params); ' r% W. @3 B: W5 g/ g( G* p" A1 N
就OK了,- ]- g4 j: o! v! u- M7 f1 k
$ A5 |/ `+ q8 M( p |