MessageBox常用方法

2021-06-07 13:43:36 字數 2527 閱讀 8555

一 函式原型及引數

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_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        //按否按鈕

二 用法

1. messagebox("這是乙個最簡單的訊息框!");

2. messagebox("這是乙個有標題的訊息框!","標題");

3. messagebox("這是乙個確定 取消的訊息框!","標題", mb_okcancel );

4. messagebox("這是乙個警告的訊息框!","標題", mb_iconexclamation );

5. messagebox("這是乙個兩種屬性的訊息框!","標題",

mb_iconexclamation|mb_okcancel );

6. if(messagebox("一種常用的應用","標題

" ,mb_iconexclamation|mb_okcancel)==idcancel)

return;

注意:以上訊息框的用法是在cwnd的子類中的應用,如果不是,則要messagebox(null,"ddd","ddd",mb_ok); 或messagebox(hwnd,"ddd","ddd",mb_ok); hwnd為某視窗的控制代碼,或者直接用afxmessagebox。

二、在messagebox中顯示變數的值

cstring string;

string.format("%d%s",m_age, m_address); //將變數組裝到字串中

messagebox(string,"訊息框標題",訊息框型別);

MessageBOx的使用方法

一函式原型及引數 function messagebox hwnd hwnd text,caption pchar type word integer hwnd 對話方塊父視窗控制代碼,對話方塊顯示在delphi窗體內,可使用窗體的handle屬性,否則可用0,使其直接作為桌面視窗的子視窗。text...

執行緒攪亂messagebox?

執行緒攪亂messagebox?delphi windows sdk api 問題現場 大概意思哈 switch messagebox case mryes case mrno case mrcancel exit 單步執行這一段,選擇yes,程式進入thread1 new tmythread 然後...

MessageBox的常見用法

一 函式原型及引數 function messagebox hwnd hwnd text,caption pchar type word integer hwnd 對話方塊父視窗控制代碼,對話方塊顯示在delphi窗體內,可使用窗體的handle屬性,否則可用0,使其直接作為 桌面視窗的子視窗。te...