|
: n9 E" S7 J+ I# z/ Z% i3 ~ / t m5 f! j1 ^3 d
windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
8 t: d# W9 k1 m3 e/ Y/ B6 W而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 " t7 J( n* m# Y y
假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:: W3 K" u# ^0 j2 u
void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)
; J- l* r% F; X6 W Q7 ?& g' W{
! d6 @2 ]! Y" q: a0 X( Q. X3 K4 r( } //TOD Add your source code here S8 D9 q0 P8 @0 T/ Y# l, `
TCustomForm::CreateParams(Params);
( n7 z9 I! S3 t k: ?& _& y Params.Style^=WS_CAPTION;2 W6 e, W. U; p4 B. x
}
2 a c2 e& j" d( Q% D头文件里这样加:4 x+ V4 k4 S( E4 n( |3 v8 t
public: // User declarations
. ~4 w6 [* ]4 [: a% Q$ _
- Q6 p( r4 O l0 I$ d n# p virtual void __fastcall CreateParams(Controls::TCreateParams & Params); ' F1 p) ?& K. A* y
就OK了,
* r* I" N9 e9 v' c
5 x9 p. l- k' u5 E! I$ c* `6 @ |