|
; ]. C, r" k# H; y; } 1 y+ f e* J* E3 _7 n% O
windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
+ U2 F0 Y+ `4 u$ T而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 3 c. F. s3 c/ q7 M5 U$ {& y. F
假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:& e5 s( m/ S/ P6 |8 ]
void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)0 i) S- o/ ^( U2 Y$ I
{& Y" y/ p+ a# t7 |% Y" `# i$ P
//TOD Add your source code here
/ F W6 F d" m! b- G( u TCustomForm::CreateParams(Params);9 q% ^5 x9 x/ i. K- j
Params.Style^=WS_CAPTION;
- Y: o( M) s0 c& z K}
, F. v4 z( H; u- G3 p+ k" m; X k5 Z头文件里这样加:: @* h% v g# G7 y7 K& Z8 U$ ~
public: // User declarations
9 A4 P. _2 G$ I8 H' z' c. _ 6 ?! t- P/ I+ @) m. T% F6 Q
virtual void __fastcall CreateParams(Controls::TCreateParams & Params); : K2 N( r' }. M" \; S' h! k
就OK了,; Q1 W3 O6 O% E- `4 {$ D- [! Q
, q; r2 x5 z. [* z$ z( E4 Q- T
|