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

MFC AfxMessageBox 參數詳解:按鈕類型、圖標與返回值對應表

     編輯:程式設計疑難解答

代碼解析


AfxMessageBox("您真的要刪除這個文件嗎?", 4 + 48) == 6

參數拆解:4 + 48 = 52 (0x34)

常量值含義
MB_YESNO4 (0x0004)顯示「是/否」兩個按鈕
MB_ICONEXCLAMATION / MB_ICONWARNING48 (0x0030)顯示警告圖標(黃色三角形感嘆號)

組合效果:帶警告圖標的「是/否」對話框。

返回值判斷:== 6

常量值用戶操作
IDOK1確定
IDCANCEL2取消
IDABORT3中止
IDRETRY4重試
IDIGNORE5忽略
IDYES6是
IDNO7否
IDTRYAGAIN10再試一次
IDCONTINUE11繼續

== 6 即判斷用戶點擊了 「是」按鈕。

常用組合速查


// 錯誤提示:確定 + 錯誤圖標
AfxMessageBox("錯誤", MB_OK | MB_ICONERROR); // 0x10

// 信息提示:確定 + 信息圖標
AfxMessageBox("完成", MB_OK | MB_ICONINFORMATION); // 0x40

// 確認刪除:是/否 + 警告圖標 + 默認否
AfxMessageBox("確認刪除?", MB_YESNO | MB_ICONWARNING | MB_DEFBUTTON2); // 0x100

// 自定義按鈕文本(需自定義對話框資源)
// 標準 AfxMessageBox 不支持修改按鈕文字

最佳實踐

    1. 使用符號常量而非魔數:MB_YESNO | MB_ICONWARNING 可讀性強。 2. 關鍵操作(刪除、格式化)務必用 MB_YESNO 雙確認。 3. 默認按鈕設置 MB_DEFBUTTON2 (第二個按鈕即「否」),防止誤觸回車執行危險操作。 4. 返回值務必與按鈕類型匹配:MB_YESNO 只返回 IDYES/IDNO,不返回 IDOK。

記住:4=是/否按鈕、48=警告圖標、6=點擊是,即可輕鬆閱讀寫法 AfxMessageBox(..., 4+48) == 6。

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