Windows 透過 CreateWindowEx 建立視窗,樣式由傳入參數決定。VCL 在建立視窗前會呼叫虛擬函式 CreateParams 取得樣式參數。我們先呼叫父類別 TCustomForm::CreateParams 取得標準屬性,再以 XOR 運算 (^=) 移除 WS_CAPTION,即可建立無標題列的 MDI 子視窗。
假設 Form1 為主視窗,Form2 為 MDI 子視窗。在 Form2 的單元中加入:
void __fastcall TForm2::CreateParams(Controls::TCreateParams &Params)
{
TCustomForm::CreateParams(Params); // 取得標準樣式
Params.Style ^= WS_CAPTION; // 移除標題列
}
public: // User declarations
virtual void __fastcall CreateParams(Controls::TCreateParams &Params);