Delphi Messagebox自動關閉


MessageBox對話框是比較常用的一個信息對話框,其不僅能夠定義顯示的信息內容、信息提示圖標,而且可以定義按鈕組合及對話框的標題,是一個功能齊全的信息對話框信息提示圖標,而且可以定義按鈕組合及對話框的標題,是一個功能齊全的信息對框。

 1、函數原型及參數

 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;

 hWnd:對話框父窗口句柄,對話框顯示在Delphi窗體內,可使用窗體的Handle屬性,否則可用0,使其直接作為桌面窗口的子窗口。

 Text:欲顯示的信息字符串。

 Caption:對話框標題字符串。

 Type:對話框類型常量。

 該函數的返回值為整數,用於對話框按鈕的識別。

 2、類型常量

 對話框的類型常量可由按鈕組合、缺省按鈕、顯示圖標、運行模式四種常量組合而成。

 (1)按鈕組合常量

 MB_OK = $00000000;         //一個確定按鈕

 MB_OKCANCEL = $00000001;      //一個確定按鈕,一個取消按鈕

 MB_ABORTRETRYIGNORE = $00000002;  //一個異常終止按鈕,一個重試按鈕,一個忽略按鈕

 MB_YESNOCANCEL = $00000003;     //一個是按鈕,一個否按鈕,一個取消按鈕

 MB_YESNO = $00000004;        //一個是按鈕,一個否按鈕

 MB_RETRYCANCEL = $00000005;     //一個重試按鈕,一個取消按鈕

 (2)缺省按鈕常量

 MB_DEFBUTTON1 = $00000000;     //第一個按鈕為缺省按鈕

 MB_DEFBUTTON2 = $00000100;     //第二個按鈕為缺省按鈕

 MB_DEFBUTTON3 = $00000200;     //第三個按鈕為缺省按鈕

 MB_DEFBUTTON4 = $00000300;     //第四個按鈕為缺省按鈕

 (3)圖標常量

 MB_ICONHAND = $00000010;        //"×"號圖標

 MB_ICONQUESTION = $00000020;      //"?"號圖標

 MB_ICONEXCLAMATION = $00000030;    //"!"號圖標

 MB_ICONASTERISK = $00000040;      //"i"圖標

 MB_USERICON = $00000080;        //用戶圖標

 MB_ICONWARNING = MB_ICONEXCLAMATION;  //"!"號圖標

 MB_IConERROR = MB_ICONHAND;      //"×"號圖標

 MB_ICONINFORMATION = MB_ICONASTERISK; //"i"圖標

 MB_ICONSTOP = MB_ICONHAND;       //"×"號圖標

 (4)運行模式常量

 MB_APPLMODAL = $00000000;    //應用程序模式,在未結束對話框前也能切換到另一應用程序

 MB_SYSTEMMODAL = $00001000;   //系統模式,必須結束對話框后,才能做其他操作

 MB_TASKMODAL = $00002000;    //任務模式,在未結束對話框前也能切換到另一應用程序

 MB_HELP = $00004000;       //Help Button

 3、函數返回值

 0            //對話框建立失敗

 idOk = 1        //按確定按鈕

 idCancel = 2      //按取消按鈕

 idAbout = 3       //按異常終止按鈕

 idRetry = 4       //按重試按鈕

 idIgnore = 5      //按忽略按鈕

 idYes = 6        //按是按鈕

 idNo = 7        //按否按鈕

讓MessageBox自動關閉的方法:(Hwnd: THandle;)

Hwnd := FindWindow(nil, '結束提示');

if Hwnd <> 0 then

SendMessage(Hwnd, WM_CLOSE, 0, 0);

注意MessageBox(Handle, ' ', '結束提示', MB_YESNOCANCEL + MB_ICONQUESTION + MB_SYSTEMMODAL) 必須用MB_YESNOCANCEL而不能用MB_YESNO,用后者時MessageBox只有是否按鈕,右上角關閉圖標不能用,加上MB_YESNOCANCEL界面有3個按鈕,右上角關閉按鈕可用,此時發送關閉消息可以正常關閉窗口;加上MB_SYSTEMMODAL提示框會在最頂層顯示。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM