Visual C++ 消息對話框函數 MessageBox

Visual C++提供三個消息對話框函數,他們的原型爲

int AfxMessageBox(LPCTSTR lpText, UINT nType = MB_OK, UINT nIDHelp = 0);
int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT nType);
int CWnd::MessageBox(LPCTSTR lpText, LPCTSTR lpCaption = NULL, UINT nType = MB_OK);

parameter:
hWnd:
此參數代表消息框擁有的窗口。如果爲NULL,則消息框沒有擁有窗口。
lpText:
消息框中要顯示的內容。如果使用了Unicode庫,則把文本變成:TEXT(/*sometext*/)
lpCaption:
消息框的標題。如果使用了Unicode庫,則把文本變成:TEXT(/*sometext*/)
nType:
指定一個決定對話框的內容和行爲的位標誌集。此參數可以爲下列標誌組中標誌的組合。指定下列標誌中的一個來顯示消息框中的按鈕以及圖標。
nIDHelp:
表示信息的上下文幫助。

MFC特例:
假如您創建了一個MFC工程,如果工程文檔中有MainFrm.cpp的話,那麼,本函數就被封裝成了:
int MessageBox(LPCTSTR lpszText,LPCTSTR lpszCaption=NULL,UINT nType = MB_OK);
返回值:指定函數的結果。
下面的例子可以讓我們對比兩種函數的用法,兩行代碼的功能都是顯示一個消息框,內容爲“示例用法”
::MessageBox(NULL, "示例用法", "demo", MB_OK);
MessageBox("示例用法");   //採用了一些C++的語法特性使用消息框用起來更順手

這 3 個函數分別是 MC 全局函數、Windows API 函數和 CWnd 類的成員函數,他們的功能基本相同,但適用範圍有所不同。

AfxMessageBox()和 MessageBox()函數可以在程序的任何地方使用,而 CWnd::MessageBox()函數只能用於控件、對話框、窗口等一些窗口類中。

這 3 個函數都將返回用戶選擇按鈕的情況,如返回值 IDOK、IDCANCEL、IDABORT 分別表示用戶按下了 OK、Cancel、Abort 按鈕。

uType參數:

按鈕參數

含義

MB_OK

默認值。有一個確認按鈕在裏面。

MB_YESNO

有是和否在裏面。

MB_ABORTRETRYIGNORE

有Abort(放棄),Retry(重試)和Ignore(跳過)

MB_YESNOCANCEL

消息框含有三個按鈕:Yes,No和Cancel

MB_RETRYCANCEL

有Retry(重試)和Cancel(取消)

MB_OKCANCEL

消息框含有兩個按鈕:OK和Cancel

圖標參數 含義

MB_ICONEXCLAMATION

一個驚歎號出現在消息框

MB_ICONWARNING

一個驚歎號出現在消息框

MB_ICONINFORMATION

一個圓圈中小寫字母i組成的圖標出現在消息框

MB_ICONASTERISK

一個圓圈中小寫字母i組成的圖標出現在消息框

MB_ICONQUESTION

一個問題標記圖標出現在消息框

MB_ICONSTOP

一個停止消息圖標出現在消息框

MB_ICONERROR

一個停止消息圖標出現在消息框

MB_ICONHAND

一個停止消息圖標出現在消息框
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章