轉載於網絡
3、函數返回值
0 //對話框建立失敗
IdOk = 1 //按確定按鈕
IDCancel = 2 //按取消按鈕
IDAbout = 3 //按異常終止按鈕
IDRetry = 4 //按重試按鈕
IDIgnore = 5 //按忽略按鈕
IDYes = 6 //按是按鈕
IDNo = 7 //按否按鈕
在delphi中經常要用到一個提示對話框,根據用戶選擇執行不同的命令,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)圖標常量免費資源收集網(http://www.freezq.cn)
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 //按否按鈕
應用實例:
Application.MessageBox('你確定此操作嗎?','詢問',MB_OK);//只有一個確定按鈕
MessageBox(0,'你確定此操作嗎?','詢問',MB_OK); //只有一個確定按鈕
MessageBox(0,'你確定此操作嗎?','詢問',1); //確定取消(如果不帶圖標,也可以用數字)
MessageBox(0,'你確定此操作嗎?','詢問',MB_OKCANCEL);//確定取消二個按鈕
MessageBox(0,'你確定此操作嗎?','詢問',MB_OKCANCEL+MB_ICONQUESTION);//確定取消,帶?號圖標
MessageBox(0,'你確定此操作嗎?','詢問',MB_OKCANCEL+MB_ICONQUESTION+MB_DEFBUTTON2);//確定取消,帶?號圖標,並把第二個按鈕“取消”設為默認按鈕!
如果想判斷用戶選擇了那個按鈕可以這樣
var
x:integer;
begin
x:=MessageBox(0,'你確定此操作嗎?','詢問',MB_OKCANCEL);
end;
判斷時可以是if x=1 then ..或if x=idok then...