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

MFC 對話框創建失敗?從錯誤信息定位問題才是正道

     編輯:程式設計綜合問答

初學 MFC 點擊「確定」按鈕程序直接退出,未進入 OnBnClickedOk。截圖顯示資源編譯錯誤、類向導映射缺失等。核心排查步驟:

1. 閱讀輸出窗口完整錯誤

雙擊錯誤列表跳轉到代碼行,看具體提示:resource.h 缺失、IDD_DIALOG 未定義、消息映射宏拼寫錯誤等。

2. 檢查消息映射

// 對話框類頭文件
afx_msg void OnBnClickedOk();
// 源文件
BEGIN_MESSAGE_MAP(CMyDlg, CDialogEx)
    ON_BN_CLICKED(IDOK, &CMyDlg::OnBnClickedOk)
END_MESSAGE_MAP()

確認 IDOK 與按鈕屬性一致,ON_BN_CLICKED 宏大小寫正確。

3. 檢查資源 ID 衝突

資源視圖中右鍵按鈕 → Properties → ID 必須為 IDOK,若自定義 ID 需手動添加映射。

4. 基類調用

重寫 OnOK 時若不調用 CDialogEx::OnOK(),對話框不會正常關閉;若調用過早,可能在驗證前就關閉。

5. 重建項目大法

若遷移舊代碼,新建 MFC 對話框項目,逐個複製 .h/.cpp/.rc 內容,避免隱藏配置差異。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved