龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

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

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。 而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相

  windows在创建窗体时使用一个CreateWindowEx函数,通过传给这个函数的参数来确定窗口的样式。

  

而CreateParams虚函数是VCL在创建窗口之前调用的,用来取得要创建的窗口的样式的及其它一些相关属性的(Params参数),这里先通过调用TCustomForm的CreateParams函数来取得标准的窗口属性,再通过Params.Style^=WS_CAPTION;把窗口样式里的标题栏属性去掉,函数执行之后呢,VCL就把这个参数传给CreateWindowEx函数,这样创建的窗口就没有标题栏了。

  

假如form1是主窗口,form2是一个子窗口。在form2的单元里加入一个函数:

  

void __fastcall TForm2::CreateParams(Controls::TCreateParams & Params)

  

{

  

//TODO: Add your source code here

  

TCustomForm::CreateParams(Params);

  

Params.Style^=WS_CAPTION;

  

}

  

  

头文件里这样加:

  

public: // User declarations

  

  

virtual void __fastcall CreateParams(Controls::TCreateParams & Params);

  

  

就OK了,呵呵

  

精彩图集

赞助商链接