一
函式原型及引數
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 開始...