韩冰 发表于 2005-1-26 01:41

如何去掉MDI子窗体的标题栏?

<P>
</P>
<P> windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。
而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。
假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:
void __fastcall TForm2::CreateParams(Controls::TCreateParams &amp; Params)
{
        //TOD Add your source code here
      TCustomForm::CreateParams(Params);
      Params.Style^=WS_CAPTION;
}</P>
<P>头文件里这样加:
public:        // User declarations
  
    virtual void __fastcall CreateParams(Controls::TCreateParams &amp; Params);</P>
<P>就OK了,

</P>
页: [1]
查看完整版本: 如何去掉MDI子窗体的标题栏?