|
7 A3 T" s* ^4 @6 i1 x" F 8 M$ c1 t$ {# M5 H* ]& D0 g$ ^
windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。1 f! V- p2 E3 W. S
而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。
' l" ]- \+ k5 ?假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:
; }' O& ]; g! F Y7 Yvoid __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)% Q0 r* D$ H5 ?" E1 W+ D
{( {! e9 g: Q; a
//TOD Add your source code here
8 ~1 s' Y9 K8 x: v5 F! t" F TCustomForm::CreateParams(Params);3 r* T2 X1 L8 B) ] q
Params.Style^=WS_CAPTION;
" U7 A C6 p7 T6 ?4 d} 7 I8 W9 J0 F- `# l2 s! Z9 I1 G
头文件里这样加:& b# p& Q1 l1 P
public: // User declarations
7 H, R4 _% R+ F3 U1 Y' o! a5 `
5 V, N: e$ e3 i. ]& Q; S5 J3 v virtual void __fastcall CreateParams(Controls::TCreateParams & Params); 1 c4 y" R3 f! Q- n, S# g1 b
就OK了,
' b# T0 ~9 t0 b7 F9 k( i" t' [ 9 p& l9 X0 P% h P2 |$ q
|