|
P# C4 ~: e5 J4 B
$ _3 D4 \' {: U windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
, \0 o, ]8 g( ?2 c* o" \! b) `3 `而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 - K( @& Z! o- Z* n2 R( O' M9 a
假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:
6 C+ b* d* S! e0 Z* |& f& Tvoid __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)0 S8 k9 A1 M) E) a A
{( }2 i1 K% |! Y9 y6 V0 U
//TOD Add your source code here
4 `- h( m4 Z' v' V TCustomForm::CreateParams(Params);
2 r5 K. v8 T: O' \% ~/ l Params.Style^=WS_CAPTION;
& I$ }/ M1 p/ g/ b5 B1 ]} 9 t; l0 G9 _( f$ R; }0 W ]
头文件里这样加:: {4 h; w7 o- J8 H) S; Y6 u8 }
public: // User declarations, ^# T8 i2 `5 f$ C, @- A% v9 Z
% N% G& T2 ]3 C& k6 ^
virtual void __fastcall CreateParams(Controls::TCreateParams & Params);
3 M: @1 G: X5 B6 v就OK了,% Q$ F( r4 `" E' T- n6 ^
# v& V/ v+ A* _; c; A% | |