首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

移除 MDI 子視窗標題列:覆寫 CreateParams 實戰

     編輯:VC 教學

原理說明

Windows 透過 CreateWindowEx 建立視窗,樣式由傳入參數決定。VCL 在建立視窗前會呼叫虛擬函式 CreateParams 取得樣式參數。我們先呼叫父類別 TCustomForm::CreateParams 取得標準屬性,再以 XOR 運算 (^=) 移除 WS_CAPTION,即可建立無標題列的 MDI 子視窗。

程式碼範例

假設 Form1 為主視窗,Form2 為 MDI 子視窗。在 Form2 的單元中加入:

實作檔 (.cpp)

void __fastcall TForm2::CreateParams(Controls::TCreateParams &Params)
{
    TCustomForm::CreateParams(Params);  // 取得標準樣式
    Params.Style ^= WS_CAPTION;         // 移除標題列
}

標頭檔 (.h) 宣告

public: // User declarations
    virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved