函數原型:
int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle );
注:應先將項目屬性中的字符集屬性改為多字符集(Unicode)。
消息框函數有4 個參數:
- hwnd: 父窗口的句柄,為NULL,說明消息框沒有父窗口,大多數情況下可以省略不寫
- lpText: 指向要顯示字符串的指針,對話框上顯示的信息
- lpCaption: 消息框的標題,即提示框上部分顯示的內容
- uStyle: 消息框的內容和形為(即該消息框有幾個按鈕、文本對齊等狀態,可以在20多個屬性值中進行組合)
uStyle可以是在WINUSER.H中定義的一組前綴以MB_開始的常數組合
可以使用"或"(|)運算符將下面顯示的三組中各選一個常數組合起來指定消息框的內容和形為:
// 顯示哪些按鈕: #define MB_OK 0X00000000L #define MB_OKCANCEL 0X00000001L #define MB_ABORTRERYGNORE 0X00000002L #define MB_YESNOCANCEL 0X00000003L #define MB_YESNO 0X00000004L #define RERYCANCEL 0X00000005L // 焦點在哪個按鈕上: #define MB_DEFBUTTON1 0X00000000L #define MB_DEFBUTTON2 0X00000100L #define MB_DEFBUTTON3 0X00000200L #define MB_DEFBUTTON4 0X00000300L // 圖示的外觀: #define MB_ICONHAND 0x00000010L #define MB_ICONQUESTION 0x00000020L #define MB_ICONEXCLAMATION 0x00000030L #define MB_ICONASTERISK 0x00000040L //圖示的某些有替代名稱: #define MB_ICONWARNING MB_ICONEXCLAMATION #define MB_ICONERROR MB_ICONHAND #define MB_ICONINFORMATION MB_ICONASTERISK #define MB_ICONSTOP MB_ICONHAND
示例:
MessageBox(NULL, "Hello, Windows!","hello", MB_OK ); MessageBox(NULL, "Hello, Windows!","HelloMsg", MB_YESNO|MB_ICONEXCLAMATION) ; MessageBox(NULL, "Hello, Windows!","HelloMsg", MB_YESNO|MB_DEFBUTTON1) ;//表示窗口出來后焦點 focus落在Yes(第一個)按鈕上 返回值: IDOK -- 1 IDCANCEL -- 2 IDABORT -- 3 IDRETRY -- 4 IDIGNORE -- 5 IDYES -- 6 IDNO -- 7