|
$ c: F7 h: O- b; D& D
' m' Q* h% _8 s# x4 X windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
. {/ V( w: E; T2 v U& X而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 0 v# M# b1 F! `% [" H& W9 C
假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:
% h$ \6 b4 G7 qvoid __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)
4 S; o, E: M9 r9 U{% v8 g, A$ K9 A3 }' c' `: }
//TOD Add your source code here1 |1 Y) [" Y* F# {7 `9 G
TCustomForm::CreateParams(Params);( Z/ \8 q( o. o( F) s" j+ Z
Params.Style^=WS_CAPTION;
& `- `' o' n' Y0 P1 |} ) N& \, B, ~- c- V" i
头文件里这样加:2 D! k6 V. w4 s( n) b5 j. `
public: // User declarations
$ I8 b: N7 |' l: G# Z8 Z1 S
9 W6 q0 n# x! o6 a virtual void __fastcall CreateParams(Controls::TCreateParams & Params);
# Z3 ]( K7 D& A* ?就OK了,% G$ M8 W; U4 l) j
* t( t+ r: M7 Z2 A6 ^9 b |