数学建模社区-数学中国

标题: 如何去掉MDI子窗体的标题栏? [打印本页]

作者: 韩冰    时间: 2005-1-26 01:41
标题: 如何去掉MDI子窗体的标题栏?

7 R" y8 S7 }1 b' b) L$ D( Z$ \' i

! h. X, [* ]- K g

windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。 ) s6 _! k1 \; k" _而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 ; p4 [; B* B. }! x假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:" U3 Z. |) w+ d( U. }: w void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)! N1 I) A4 j# |; O: D0 c& Y! }2 \ {$ m% s7 [0 C' o" P% X //TOD Add your source code here6 E4 G2 j; ~! t' Q+ c TCustomForm::CreateParams(Params);- U+ W) P2 i& c& G: P4 T Params.Style^=WS_CAPTION; * ^, ^' D( b3 e8 o0 v}

/ k6 y" c1 {% E9 _

头文件里这样加: 9 Y: U% b4 _, }2 [7 xpublic: // User declarations2 A F0 g# @. | 1 f5 f' v3 d) Z! f virtual void __fastcall CreateParams(Controls::TCreateParams & Params);

: B$ P* y) \3 \# [; f

就OK了, 9 a$ } ]5 S& P1 c& f5 T- G. O$ t 3 }2 t* t" e, L- ^/ O






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5