函數功能:該函數創建、顯示、和操作一個消息框。消息框含有應用程序定義的消息和標題,加上預定義圖標與Push(下按)按鈕的任何組合。 ?
? ?
? ? ? ? ? 函數原型:int ? MessageBox(HWND ? hWnd,LPCTSTR ? IpCaption,UINT ? UType); ?
? ?
? ? ? ? ? 參數: ?
? ?
? ? ? ? ? hWnd:標識將被創建的消息框的擁有窗口。如果此參數為NULL,則消息框沒有擁有窗口。 ?
? ?
? ? ? ? ? IpText:指向一個以NULL結尾的、含有將被顯示的消息的字符串的指針。 ?
? ?
? ? ? ? ? IpCaption:指向一個以NULL結尾的、用于對話框標題的字符串的指針。 ?
? ?
? ? ? ? ? uType:指定一個決定對話框的內容和行為的位標志集。此參數可以為下列標志組中標志的組合。 ?
? ?
? ? ? ? ? 指定下列標志中的一個來顯示消息框中的按鈕,標志的含義如下。 ?
? ?
? ? ? ? ? MB_ABORTRETRYIGNORE:消息框含有三個按鈕:Abort,Retry和Ignore。 ?
? ?
? ? ? ? ? MB_OK:消息框含有一個按鈕:OK。這是缺省值。 ?
? ?
? ? ? ? ? MB_OKCANCEL:消息框含有兩個按鈕:OK和Cancel。 ?
? ?
? ? ? ? ? MB_RETRYCANCEL:消息框含有兩個按鈕:Retry和Cancel。 ?
? ?
? ? ? ? ? MB_YESNO:消息框含有兩個按鈕:Yes和No。 ?
? ?
? ? ? ? ? MB_YESNOCANCEL:消息框含有三個按鈕:Yes,No和Cancel。 ?
? ?
? ? ? ? ? 指定下列標志中的一個來顯示消息框中的圖標:標志的含義如下。 ?
? ?
? ? ? ? ? MB_ICONEXCLAMATION: ?
? ?
? ? ? ? ? MB_ICONWARNING:一個驚嘆號出現在消息框。 ?
? ?
? ? ? ? ? MB_ICONINFORMATION: ?
? ?
? ? ? ? ? MB_ICONASTERISK:一個圓圈中小寫字母i組成的圖標出現在消息框。 ?
? ?
? ? ? ? ? MB_ICONOUESTION:一個問題標記圖標出現在消息框。 ?
? ?
? ? ? ? ? MB_ICONSTOP: ?
? ?
? ? ? ? ? MB_ICONERROR: ?
? ?
? ? ? ? ? MM_ICONHAND:一個停止消息圖標出現在消息框。 ?
? ?
? ? ? ? ? 指定下列標志中的一個來顯不缺省的按鈕:標志的含義如下。 ?
? ?
? ? ? ? ? MB_DEFBUTTON1:第一個按鈕為缺省按鈕。如果MB_DEFBUTTON2,MB_DEFBUTTON3,MB_DEFBUTTON4沒有被指定,則MB_DEFBUTTON1為缺省值。 ?
? ?
? ? ? ? ? MB_DEFSUTTON2;第二個按鈕為缺省按鈕。 ?
? ?
? ? ? ? ? MB_DEFBUTTON3:第三個按鈕為缺省按鈕。 ?
? ?
? ? ? ? ? MB_DEFBUTTON4:第四個按鈕為缺省按鈕。 ?
? ?
? ? ? ? ? 指定下列標志中的一個來顯示對話框的形態:標志的含義如卜。 ?
? ?
? ? ? ? ? MB_APPLMODAL:在hwnd參數標識的窗口中繼續工作以前,用戶一定響應消息框。但是,用戶可以移動到其他線程的窗口且在這些窗口中工作。根據應用程序中窗口的層次機構,用戶則以移動到線程內的其他窗口。所有母消息框的子窗口自動地失效,但是彈出窗口不是這樣。如果既沒有指定MB_SYSTEMMODAL也沒有指定MB_TASKMOOAL,則MB_APPLMODAL為缺省的。 ?
? ?
? ? ? ? ? MB_SYSTEMMODAL:除了消息框有WB_EX_TOPMOST類型,MB_APPLMODAL和WS_EX_TOPMOST一樣。用系統模態消息框來改變各種各樣的用戶,主要的損壞錯誤需要立即注意(例如,內存溢出)。如果不是那些與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:消息框變為前景窗口。在內部系統為消息個調用SetForegrundWindow函數。 ?
? ?
? ? ? ? ? MB_TOPMOSI:消息框用WS_EX_TOPMOST窗口類型來創建MB_SERVICE_NOTIFICATION。 ?
? ?
? ? ? ? ? Windows ? NT:調用程序是一個通知事件的用戶的服務程序。函數在當前活動桌面上顯示一個消息框,即使沒有用戶登記到計算機。 ?
? ?
? ? ? ? ? 如果設置了此參數,則hwnd參數一定為NULL。所以消息框可以出現在一個桌面上而不是桌面響應參數hwnd。 ?
? ?
? ? ? ? ? 對于Windows ? NT ? 4.0,MB_SERVICE_NOTIFICATION的值己經改變。對于舊的和新的值,請參見WINUSER。 ?
? ?
? ? ? ? ? Windows ? NT ? 4.O通過把舊值映射到MessageBox和MessageBoxEx執行中的新值,為先存在的服務程序提供逆兼容。此映射只為有了版本數目的可執行程序而做。 ?
? ?
? ? ? ? ? 為了建立一個用MB_SERVICE_NOTIFICATION的服務器,且可以在Windows ? NT ? 3.X和Window ? NT ? 4.0上執行,可有兩種選擇。在連接時間,指定一個版本數目小于4.0的版本,或在連接時間,指定一個4.0版本。在運行時間,用函數GetVersionEx來檢測系統版本,然后在Windows ? NT ? 3.X上用MB_SERVICE_NOTIFICATION_NT ? 3.x來運行和在Windows ? NT ? 4.0上用MB_SERVICE_NOTIFICAION來運行。MB_SERVCE_NOTIFICATION_NT3.x(WindowNT)此值響應于為WindowNT3.51的MB_SERVICE_NOTIFICAION ?
? ?
? ? ? ? ? 定義的值。 ?
? ?
? ? ? ? ? 返回值:如果沒有足夠的內存來創建消息框,則返回值為零。如果函數調用成功,則返回值為下列對話框返回的菜單項目值中的一個: ?
? ?
? ? ? ? ? IDABORT:Abort ? 按鈕被選中。IDCANCEL:Cancel按鈕被選中。IDIGNORE:Ignore按鈕被選中。 ?
? ?
? ? ? ? ? IDNO:NO按鈕被選中。IDOK:OK按鈕被選中。IDRETRY:RETRY按鈕被選中。 ?
? ?
? ? ? ? ? IDYES:YES按鈕被選中。 ?
? ?
? ? ? ? ? 如果一個消息框有一個Cancel按鈕,且如果Esc鍵被按下或Cancel鍵被選擇,則函數返回IDCANCEL值。如果消息框沒有Cancel按鈕,則按Esc鍵沒有作用。 ?
? ?
? ? ? ? ? 備注:當創建一個系統模態消息框來表示系統在內存的低端中時,由lpTeXt和lpCaption參數指向的字符串不應該從一個資源文件中取出,因為試圖裝載此資源可能導致失敗。 ?
? ?
? ? ? ? ? 當一個應用程序調用MessageBox,且為uType參數指定MB_ICONHAND和MB_SYSTEMMODAL標志時,系統不管可用內存為多少,直接顯示結果消息框。當這些標志被指定,系統把消息框文本的長度局限于三行。系統不能自動截斷要填到消息框的行,但是消息字符串一定含有回車換行,以在合適的位置換行。 ?
? ?
? ? ? ? ? 如果在對話框出現的的同時創建了消息框,則可使用對話框的句柄作為hwnd參數,hwnd參數不應該標識一個子窗口,例如對話框中的一個控制。 ?
? ?
? ? ? ? ? Windows ? 95:系統可以支持最大達16364個窗口句柄。 ?
? ?
? ? ? ? ? Windows ? CE:Windows ? CE ? 不支持uType參數的下列值: ?
? ?
? ? ? ? ? MB_STSTEMMODAL;MB_TASKMODAL;MB_HELP;MB_RTLREADING;MB_DEFAULT_DESKTOP_ONLY; ?
? ?
? ? ? ? ? MB_SERVICE_NOTIFICATION;MB_USERICON。 ?
? ?
? ? ? ? ? 不支持下列返回值:IDCLOSE;IDHELP???
————————————————
版權聲明:本文為CSDN博主「marklr」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/marklr/article/details/1934445