MessageBox與AfxMessageBox(主要詳解)的區別
AfxMessageBox詳細使用說明:
在螢幕上顯示一個訊息框。
int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 ); int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT ) -1 ); |
引數
lpszText
一個cstrin物件或非空字串的指標,訊息框上顯示內容就是cstring物件或非空字串。
nType
訊息框的風格。按鈕風格和圖示風格的組合,可以採用|(或)操作符組合各種風格。訊息框的在這裡都適用,如下:
按鈕風格
按鈕風格
|
圖示風格
圖示風格
|
nIDHelp
訊息的幫助文字ID;0是預設的幫助內容。
nIDPrompt
字串表裡的標識字串的ID。
返回值
記憶體不夠返回0;否則是下面的一個:
- IDABORT 選擇了退出按鈕。
- IDCANCEL 選擇了取消按鈕
- IDIGNORE 選擇忽略按鈕
- IDNO 沒選擇任何按鈕
- IDOK 選擇OK按鈕
- IDRETRY .選擇重試按鈕
- IDYES 選擇YES按鈕
如果訊息框有一個取消按鈕,當按下ESC鍵或點選取消按鈕,返回值就是IDCANCEL。如果訊息框沒有取消按鈕,按ESC沒有效果。函式AfxFormatString1和AfxFormatString2在格式化文字方面很方便。
備註
第一個函式顯示訊息文字通過lpszText並且使用nIDHelp來描述幫助資訊。幫助資訊在按下幫助鍵(如F1)的時候可以跳轉到對應的主題。
第二個函式顯示的字串通過nIDPrompt來引用資源。幫助頁面通過nIDHelp來連結。預設值是-1,字串資源的ID,nIDPrompt,就用做是幫助資訊。閱讀Technical Note 28瞭解更多關於如何定義幫助資訊。
程式碼示例
Visual C++ |
Copy Code |
// A simple message box, with only the OK button. AfxMessageBox(_T("Simple message box."));
// A message box that uses a string from a string table // with yes and no buttons and the stop icon. // NOTE: nStringID is an integer that contains a valid id of // a string in the current resource. AfxMessageBox(nStringID, MB_YESNO|MB_ICONSTOP); |
標頭檔案
Header:afxwin.h
參考閱讀
Messagebox和AfxMessageBox的區別
AfxMessageBox |
Messagebox |
全域性的對話方塊,是MFC的API |
Win32API函式 |
可以用於任何程式 |
只能用在CWnd及其派生類中 |
不能任意設定標題 |
可以任意設定標題 |
常用於除錯程式時的內部資料輸出或警告 |
常用在要提交的應用程式版本中,可以控制標題內容而不必採用含義不明的可執行檔名為標題 |
不會掛起執行緒 |
會掛起執行緒 等待確認後 繼續 |
最終結果是呼叫 :windowsAPI MessageBox() |
是模態對話方塊 |
轉載自 : https://www.cnblogs.com/ZHENGJUNupperclassman/p/7496722.html