古詩詞大全網 - 四字成語 - delphi中messagebox函數的用法?

delphi中messagebox函數的用法?

在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)圖標常量

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...

給妳舉個例子:

if messagebox(0,'您確定要導入數據嗎? ','系統詢問?',MB_YESNO+MB_ICONQUESTION)<>6 then

begin

Screen.Cursor:= crDefault; //恢復系統光標

exit;

end;