如何去掉MDI子窗体的标题栏
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了