共用方式為


MessageBoxExA 函式 (winuser.h)

建立、顯示及操作消息框。 消息框包含應用程式定義的訊息和標題,以及預先定義的圖示和按鈕的任何組合。 按鈕是系統使用者介面的語言。

目前 MessageBoxExMessageBox 的運作方式相同。

語法

int MessageBoxExA(
  [in, optional] HWND   hWnd,
  [in, optional] LPCSTR lpText,
  [in, optional] LPCSTR lpCaption,
  [in]           UINT   uType,
  [in]           WORD   wLanguageId
);

參數

[in, optional] hWnd

類型:HWND

要建立之消息框的擁有者視窗句柄。 如果此參數 NULL,消息框就不會有擁有者視窗。

[in, optional] lpText

類型:LPCTSTR

要顯示的訊息。

[in, optional] lpCaption

類型:LPCTSTR

對話框標題。 如果此參數 NULL,則會使用預設標題 錯誤

[in] uType

類型:UINT

對話框的內容和行為。 如需支援旗標的資訊,請參閱 MessageBox

[in] wLanguageId

類型:WORD

消息框按鈕中顯示的文字語言。 指定零 (0) 的值表示以預設系統語言顯示按鈕文字。 如果此參數是 MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),則會使用與呼叫端線程相關聯的目前語言。

若要指定目前語言以外的語言,請使用 MAKELANGID 巨集來建立此參數。 如需詳細資訊,請參閱 MAKELANGID

傳回值

類型:int

如果消息框有 [取消] 按鈕 ,如果按下 ESC 鍵或已選取 [取消] 按鈕,函式會傳回 IDCANCEL 值。 如果消息框沒有 [取消] 按鈕 ,除非有MB_OK按鈕,否則按下 ESC 將不會有任何作用。 如果顯示MB_OK按鈕,且使用者按下 ESC 鍵,則傳回值將會 IDOK

如果函式失敗,傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

如果函式成功,傳回值就是下列其中一個功能表項值。

傳回碼/值 描述
IDABORT
3
已選取 [中止] 按鈕
IDCANCEL
2
已選取 [取消] 按鈕
IDCONTINUE
11
已選取 [繼續] 按鈕
IDIGNORE
5
已選取 [忽略] 按鈕
IDNO
7
已選取 [無] 按鈕
IDOK
1
已選取 [確定] 按鈕
IDRETRY
4
已選取 [[重試] 按鈕。
IDTRYAGAIN
10
已選取 [[再試] 按鈕。
IDYES
6
已選取 [[是] 按鈕。

言論

當您使用系統強制回應消息框來指出系統記憶體不足時,lpText 所指向的字串,且不應從資源檔擷取 lpCaption 參數,因為嘗試載入資源可能會失敗。

如果您在對話框存在時建立消息框,請使用對話框的句柄作為 hWnd 參數。 hWnd 參數不應該識別子視窗,例如對話框中的控件。

注意

winuser.h 標頭會將 MessageBoxEx 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winuser.h (包括 Windows.h)
連結庫 User32.lib
DLL User32.dll

另請參閱

概念

對話框

MAKELANGID

MessageBeep

MessageBox

MessageBoxIndirect

其他資源

參考

SetForegroundWindow