|
% W2 ~& A5 `, T/ y * M' e3 ?6 y4 d; t4 |
windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
: d7 q# E+ a% M# d. [而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 7 s. u- m% g. \1 ^
假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数: v( s9 F. d! Y- H
void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)
3 y$ m9 Q. d5 z3 D. n1 ~/ Y{! J0 [0 @5 I9 ], Z: b u
//TOD Add your source code here4 W2 _8 i7 Q4 ~
TCustomForm::CreateParams(Params);1 m) P1 I) ~2 _0 y* R1 N
Params.Style^=WS_CAPTION;
+ g0 ^7 p; h, O0 i# s0 U} 9 H" I& j/ D# g8 {$ n
头文件里这样加:7 B- n4 [' J: [ T" a
public: // User declarations5 U; P% Y) s/ m( i. z. k
$ ^2 }1 \ r) \, U: \4 Q4 o
virtual void __fastcall CreateParams(Controls::TCreateParams & Params);
8 c/ b; O. l x1 N就OK了,/ F: s8 }9 c7 Q( y9 z
$ F3 n' c: d+ e H5 a# O
|