在屏幕上顯示一個消息框。
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
一個cstring對象或非空字符串的指針,消息框上顯示內容就是cstring對象或非空字符串。
nType
消息框的風格。按鈕風格和圖標風格的組合,可以采用|(或)操作符組合各種風格。消息框的在這里都適用,如下:
按鈕風格
MB_ABORTRETRYIGNORE |
消息框中顯示Abort、Retry、Ignore按鈕 |
MB_OK |
顯示OK按鈕 |
MB_OKCANCEL |
顯示OK、Cancel按鈕 |
MB_RETRYCANCEL |
顯示Retry、Cancel按鈕 |
MB_YESNO |
顯示Yes、No按鈕 |
MB_YESNOCANC |
顯示Yes、No、Cancel按鈕 |
圖標風格
MB_ICONINFORMATION |
顯示一個i圖標,表示提示 |
MB_ICONEXCLAMATION |
顯示一個驚嘆號,表示警告 |
MB_ICONSTOP |
顯示手形圖標,表示警告或嚴重錯誤 |
MB_ICONQUESTION |
顯示問號圖標,表示疑問 |
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++ |
|
// 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() |
是模態對話框 |