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,則會使用預設標題 Error

[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

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

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

備註

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

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

注意

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

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll

另請參閱

概念

對話框

MAKELANGID

MessageBeep

MessageBox

MessageBoxIndirect

其他資源

參考

SetForegroundWindow