MessageBox

MessageBox

計算機語言函數
MessageBox顯示一個模态對話框,其中包含一個系統圖标、一組按鈕和一個簡短的特定于應用程序消息,如狀态或錯誤的信息。消息框中返回一個整數值,該值指示用戶單擊了哪個按鈕。[1]
    中文名: 外文名: 所屬學科: 函數名:MessageBox 作用:彈出模式對話框 所屬頭文件:Windows.h和afxwin.h 編程語言:C/C++,VB

函數

參數

hWnd:

消息框的擁有窗此參數口。如果為NULL,則消息框沒有擁有窗口。

lpText:

消息框的内容。如果使用了Unicode庫,則把文本變成:

lpCaption:

消息框的标題。如果使用了Unicode庫,則把文本變成:

uType:

指定一個決定對話框的内容和行為的位标志集。此參數可以為下列标志組中标志的組合。指定下列标志中的一個來顯示消息框中的按鈕以及圖标。

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

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

形态:

參數

含義

MB_APPLMODAL

在hwnd參數标識的窗口中繼續工作以前,用戶一定響應 消息框 。但是,用戶可以移動到其他線程的窗口且在這些窗口中工作。根據應用程序中窗口的層次機構,用戶則以移動到線程内的其他窗口。所有母 消息框 的子窗口自動地失效,但是彈出窗口不是這樣。如果既沒有指定MB_SYSTEMMODAL也沒有指定MB_TASKMOOAL,則MB_APPLMODAL為缺省的。

MB_SYSTEMMODAL

除了 消息框 有WB_EX_TOPMOST類型,MB_APPLMODAL和MB_SYSTEMMODAL一樣。用系統模态 消息框 來改變各種各樣的用戶,主要的損壞錯誤需要立即注意(例如, 内存溢出 )。如果不是那些與hwnd聯系的窗口,此标志對用戶對窗口的相互聯系沒有影響。

MB_TASKMODAL

如果參數hwnd為NULL的話,那麼除了所有屬于當前線程高層次的窗口失效外,MB_TASKMODALL和MB_APPLMODAL一樣。當調用應用程序或庫沒有一個可以得到的 窗口句柄 時,使用此标志。但仍需要阻止輸入到調用線程的其他窗口,而不是擱置其他線程。

其他:

标志

含義

MB_DEFAULT_DESKTOP_ONLY

接收輸入的當前桌面一定是一個缺省桌面。否則, 函數調用 失敗。缺省桌面是一個在用戶已經紀錄且以後應用程序在此上面運行的桌面。

MB_HELP

把一個Help按鈕增加到 消息框 。選擇Help按鈕或按F1産生一個Help事件。

MB_RIGHT

文本為右調整

MB_RTLREADING

用在Hebrew和Arabic系統中從右到左的順序顯示消息和大寫文本。

MB_SETFOREGROUND

消息框 變為前景窗口。在内部系統為消息個調用SetForegroundWindow函數。

MB_TOPMOST

消息框 用WS_EX_TOPMOST窗口類型來創建MB_SERVICE_NOTIFICATION。

返回值

ID

選擇了……

IDOK(1)

OK

IDCANCEL(2)

CANCEL

IDABORT(3)

ABORT

IDRETRY(4)

RETRY

IDIGNORE(5)

IGNORE

IDYES(6)

YES

IDNO(7)

NO

備注

通過将uType參數設置為相應的标志值,可以在消息框中系統圖标,具體圖标可參見MSDN網站。

圖标

标志位值

MB_ICONHAND MB_ICONSTOP , 或者 MB_ICONERROR

MB_ICONQUESTION

MB_ICONEXCLAMATION 或者 MB_ICONWARNING

MB_ICONASTERISK 或者 MB_ICONINFORMATION

添加兩個從右到左标記(RLMs),Unicode格式字符中用U+200F表示。在消息框顯示字符串的開頭被由MessageBox渲染引擎解釋,以緻造成MessageBox的閱讀順序,呈現為從右向左(RTL)。

當您使用一個系統模式消息框指示時,當系統内存不足時,由lpText和lpCaption的參數的字符串不應被從資源文件,因為加載資源的嘗試可能會失敗。

如果在一個對話框存在時創建一個消息框,則使用對話框的句柄作為hWnd參數。hWnd參數不應指定為一個子窗口,就像對話框中的控件一樣。

MFC特例

假如您創建了一個MFC工程,如果工程文檔中有MainFrm.cpp的話,那麼,本函數就被封裝成了:

參數

lpszText:指向一個字符串包含要顯示的消息。

lpszCaption:指向一個字符串包含标題。

nType:指定消息框的内容和行為。

返回值

指定函數的結果。

下面的例子可以讓我們對比兩種函數的用法,兩行代碼的功能都是顯示一個消息框,内容為“示例用法”

MessageBox(NULL,示例用法,demo,MB_OK);

MessageBox(示例用法);//采用了一些C++的語法特性使用消息框用起來更順手

VB方法

函數原型:

參數說明:

(1)Text:必選項,消息框的正文。

(2)Title:可選項,消息框的标題。

(3)MessageBoxButtons:可選項,消息框的按鈕設置,默認隻顯示【确定】按鈕。

OK――确定OKCancel――确定和取消AbortRetryIgnore――終止、重試和忽略

YesNoCancel――是、否和取消YesNo――是和否RetryCancel――重試和取消

(4)MessageBoxIcon:對話框中顯示的圖标樣式,默認不顯示任何圖标。

Question――問号Information、Asterisk――i号Error、Stop、Hand――錯誤号

Warning、Exclamation――!号None――不顯示任何圖标

(5)MessageBoxDefaultButtons:可選項,對話框中默認選中的按鈕設置。

DefaultButton1――第1個button是默認按鈕

DefaultButton2――第2個button是默認按鈕

DefaultButton3――第3個button是默認按鈕

備注:函數原型中藍色字體部分的參數,可以通過點來獲取其後面跟随的參數值。

上一篇:腎上腺素能受體

下一篇:SYN

相關詞條

相關搜索

其它詞條