1. 程式人生 > >讓MessageBox在最前面彈出來的資訊在

讓MessageBox在最前面彈出來的資訊在

nt MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType // style of message box
);

在uType引數中設定MB_SYSTEMMODAL就能讓MessageBox在最前面

訊息框的函式原型:
int MessageBox(HWND hwnd,LPCTSTR lpsztext,LPCSTR lpsztitle,UINT ustyle);
注:應先將專案屬性中的字符集屬性改為多字符集。
訊息框函式有4 個引數:
第1個引數是父視窗的控制代碼。為NULL,說明訊息框沒有父視窗,大多數情況下可以省略不寫。
第2個引數就是一個指向要顯示字串的指標
第3個引數是訊息框本身的標題。
第4個引數是指定訊息框的內容和形為(即該訊息框有幾個按鈕、文字對齊等狀態,可以在20多個屬性值中進行組合)
MessageBox的第4個引數可以是在WINUSER.H中定義的一組字首以MB_開始的常數組合.
可以使用C語言的"或"(|)運算子將下面顯示的三組中各選一個常數組合起來指定訊息框的內容和形為:
顯示哪些按鈕:
#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