MFC中MessageBox的用法

2021-07-25 02:35:06 字數 2824 閱讀 1943

函式原型及引數

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 ); //取消當前顯示的叉號是好使的並且等於取消的功能。

messagebox( "hello, windows!","hellomsg", mb_yesno|mb_iconexclamation) ;//這個叉號是不好使用的

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

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

mb_iconexclamation|mb_okcancel );

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

" ,mb_iconexclamation|mb_okcancel)==idcancel)

return;

messagebox( "hello, windows!","hello", mb_ok );

messagebox( "hello, windows!","hellomsg", mb_yesno|mb_iconexclamation) ;

messagebox( "hello, windows!","hellomsg", mb_yesno|mb_defbutton2|mb_iconexclamation) ;//表示視窗出來

注意:以上訊息框的用法是在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,"訊息框標題",訊息框型別);

//自定義圖示製作

MFC中MessageBox的用法

退出程式用afxgetmainwnd sendmessage wm close 關閉當前視窗用destroywindow 關閉模式對話方塊用enddialog 0 mfc中messagebox的用法 訊息框是個很常用的控制項,屬性比較多,本文列出了它的一些常用方法,及指出了它的一些應用場合。1.me...

MFC中MessageBox的用法

一 訊息框是個很常用的控制項,屬性比較多,本文列出了它的一些常用方法,及指出了它的一些應用場合。1.messagebox 這是乙個最簡單的訊息框!2.messagebox 這是乙個有標題的訊息框!標題 3.messagebox 這是乙個確定 取消的訊息框!標題 mb okcancel 4.messa...

MFC中MessageBox 的用法

函式原型 int messagebox hwnd hwnd,lpctstr lptext,lpcstr lpcaption,uint ustyle 注 應先將專案屬性中的字符集屬性改為多字符集 unicode 訊息框函式有4 個引數 ustyle可以是在winuser.h中定義的一組字首以mb 開始...