数学建模社区-数学中国

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

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

: {% c9 J: G6 }" i* u6 e$ R5 F K

5 J6 R1 d$ w( ~3 J

windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。2 @6 g x2 d$ N1 x$ T7 Q 而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。 - K# y z, g% X! _ 假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数: , d1 |/ j- ?, W+ M. ]" \% c, Jvoid __fastcall TForm2::CreateParams(Controls::TCreateParams & Params) + c3 v0 S5 ], L9 U& ~. z; @, C4 d{4 J6 z" A q/ r# |' Y7 J //TOD Add your source code here * f2 a K$ f& \: \* p. p TCustomForm::CreateParams(Params); 1 M: k2 }" B1 a: s Params.Style^=WS_CAPTION; 7 ~) _. ?1 Q) F6 W}

' c; |5 u$ E- `

头文件里这样加:* k( A q( S* Q8 @7 Y public: // User declarations 0 ^2 I' [" ]9 X 1 {$ c: ?1 A& H! ~7 p$ N virtual void __fastcall CreateParams(Controls::TCreateParams & Params);

, [+ l, P" T: X6 y [

就OK了,' b- H. j2 \1 G- Q. ^ : v- @ r& z% I f* U






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