首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

MFC項目集成現有自定義控件類:變量綁定後手動替換類名

     編輯:程式設計疑難解答

操作步驟

  1. 將自定義類的 .h .cpp 加入項目(右鍵項目 → Add → Existing Item)。
  2. 在對話框編輯器中,右鍵目標控件(如 Edit Control)→ Add Variable。
  3. 在彈出的對話框中,Category 選 Control,Variable Type 先選 CEdit(基類),命名如 m_myEdit,確定。
  4. 打開對話框頭文件 Dlg.h,找到 CEdit m_myEdit;,手動修改為 CMyEdit m_myEdit;(你的自定義類名)。
  5. 打開 Dlg.cpp,同樣修改 DoDataExchange 中的 DDX_Control(pDX, IDC_EDIT, m_myEdit); 類型匹配即可(MFC自動生成的代碼不依賴具體類型)。
  6. 編譯運行,自定義類的繪製、消息處理生效。

原理說明

MFC 類向導無法識別第三方自定義控件類,但 DDX_Control 僅需控件 ID 與 CWnd 衍生類指針/引用,運行時通過 SubclassWindow 完成子類化,故手動改類名即可。

注意事項

  • 自定義類必須公開繼承 CEdit / CButton 等對應基類,並實現 DECLARE_DYNAMIC / IMPLEMENT_DYNAMIC。
  • 若自定義類有新增消息映射(如 ON_WM_CTLCOLOR_REFLECT),確保消息映射宏正確展開。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved