|
- D9 [! v8 H/ w6 w/ X
" |' l& {6 @: ?0 |+ F windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。4 s! U; w- {8 O2 [) Y
而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。
) T% R" R# U( s9 s! i2 j1 W! Q假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:" f. g1 \5 r6 I1 Z: n% K4 q
void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)/ r( m. p8 U* a5 h
{: H5 c3 }; o6 |% s9 f! k* B1 }& P1 L
//TOD Add your source code here. v! o4 H( K" c0 C4 \
TCustomForm::CreateParams(Params);
) C q5 r j- T: K7 S/ U Params.Style^=WS_CAPTION;
% [% U* E" x% g1 \) R} ' L9 A. i( o2 e+ r7 f8 ~
头文件里这样加:% O! Q' j9 W; K6 b# `8 ]+ i
public: // User declarations
& e) q: k7 l; v7 m3 ^1 t$ ~) U6 I9 @ & f5 a. w' ?3 i6 M! b8 g
virtual void __fastcall CreateParams(Controls::TCreateParams & Params);
) e* H4 O( F. a7 B7 b就OK了,5 h1 y8 H) k9 \
E) f @+ X% E; _2 Q- k4 b, W0 j- o# b
|