| 一、關(guān)于MessageBox ???????消息框是個(gè)很常用的控件,屬性比較多,本文列出了它的一些常用方法,及指出了它的一些應(yīng)用場合。 ???????1.MessageBox("這是一個(gè)最簡單的消息框!"); ????????2.MessageBox("這是一個(gè)有標(biāo)題的消息框!","標(biāo)題"); ????????3.MessageBox("這是一個(gè)確定 取消的消息框!","標(biāo)題", MB_OKCANCEL ); ???????4.MessageBox("這是一個(gè)警告的消息框!","標(biāo)題", MB_ICONEXCLAMATION ); ???????5.MessageBox("這是一個(gè)兩種屬性的消息框!","標(biāo)題", MB_ICONEXCLAMATION|MB_OKCANCEL ); ???????6.if(MessageBox("一種常用的應(yīng)用","標(biāo)題",MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL) ??????????return; 附其它常用屬性: ???????系統(tǒng)默認(rèn)圖標(biāo),可在消息框上顯示 ????????X錯(cuò)誤 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR ?????????詢問 MB_ICONQUESTION ????????!警告 MB_ICONEXCLAMATION and MB_ICONWARNING ????????i信息 MB_ICONASTERISK and MB_ICONINFORMATION ???????按鈕的形式 ????????MB_OK 默認(rèn) ????????MB_OKCANCEL 確定取消 ????????MB_YESNO 是否 ????????MB_YESNOCANCEL 是否取消 ????????返回值 ????????IDCANCEL 取消被選 ????????IDNO 否被選 ?????????IDOK 確定被選 ????????IDYES 是被選 ???????注意!!!: ???????以上消息框的用法是在CWnd的子類中的應(yīng)用,如果不是,則要MessageBox(NULL,"ddd","ddd",MB_OK); 或MessageBox(hWnd,"ddd","ddd",MB_OK); hWnd為某窗口的句柄,或者直接用AfxMessageBox。 ????????MessageBox對話框是比較常用的一個(gè)信息對話框,其不僅能夠定義顯示的信息內(nèi)容、信息提示圖標(biāo),而且可以定義按鈕組合及對話框的標(biāo)題,是一個(gè)功能齊全的信息對話框信息提示圖標(biāo),而且可以定義按鈕組合及對話框的標(biāo)題,是一個(gè)功能齊全的信息對框。 1、函數(shù)原型及參數(shù) function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:對話框父窗口句柄,對話框顯示在Delphi窗體內(nèi),可使用窗體的Handle屬性,否則可用0,使其直接作為桌面窗口的子窗口。 Text:欲顯示的信息字符串。 Caption:對話框標(biāo)題字符串。 Type:對話框類型常量。 該函數(shù)的返回值為整數(shù),用于對話框按鈕的識(shí)別。 2、類型常量 對話框的類型常量可由按鈕組合、缺省按鈕、顯示圖標(biāo)、運(yùn)行模式四種常量組合而成。 (1)按鈕組合常量 MB_OK = $00000000; //一個(gè)確定按鈕 MB_OKCANCEL = $00000001; //一個(gè)確定按鈕,一個(gè)取消按鈕 MB_ABORTRETRYIGNORE = $00000002; //一個(gè)異常終止按鈕,一個(gè)重試按鈕,一個(gè)忽略按鈕 MB_YESNOCANCEL = $00000003; //一個(gè)是按鈕,一個(gè)否按鈕,一個(gè)取消按鈕 MB_YESNO = $00000004; //一個(gè)是按鈕,一個(gè)否按鈕 MB_RETRYCANCEL = $00000005; //一個(gè)重試按鈕,一個(gè)取消按鈕 (2)缺省按鈕常量 MB_DEFBUTTON1 = $00000000; //第一個(gè)按鈕為缺省按鈕 MB_DEFBUTTON2 = $00000100; //第二個(gè)按鈕為缺省按鈕 MB_DEFBUTTON3 = $00000200; //第三個(gè)按鈕為缺省按鈕 MB_DEFBUTTON4 = $00000300; //第四個(gè)按鈕為缺省按鈕 (3)圖標(biāo)常量 MB_ICONHAND = $00000010; //“×”號(hào)圖標(biāo) MB_ICONQUESTION = $00000020; //“?”號(hào)圖標(biāo) MB_ICONEXCLAMATION = $00000030; //“!”號(hào)圖標(biāo) MB_ICONASTERISK = $00000040; //“i”圖標(biāo) MB_USERICON = $00000080; //用戶圖標(biāo) MB_ICONWARNING = MB_ICONEXCLAMATION; //“!”號(hào)圖標(biāo) MB_ICONERROR = MB_ICONHAND; //“×”號(hào)圖標(biāo) MB_ICONINFORMATION = MB_ICONASTERISK; //“i”圖標(biāo) MB_ICONSTOP = MB_ICONHAND; //“×”號(hào)圖標(biāo) (4)運(yùn)行模式常量 MB_APPLMODAL = $00000000; //應(yīng)用程序模式,在未結(jié)束對話框前也能切換到另一應(yīng)用程序 MB_SYSTEMMODAL = $00001000; //系統(tǒng)模式,必須結(jié)束對話框后,才能做其他操作 MB_TASKMODAL = $00002000; //任務(wù)模式,在未結(jié)束對話框前也能切換到另一應(yīng)用程序 MB_HELP = $00004000; //Help Button 3、函數(shù)返回值 0 //對話框建立失敗 IDOK = 1 //按確定按鈕 IDCANCEL = 2 //按取消按鈕 IDABOUT = 3 //按異常終止按鈕 IDRETRY = 4 //按重試按鈕 IDIGNORE = 5 //按忽略按鈕 IDYES = 6 //按是按鈕 IDNO = 7 //按否按鈕 二、在MessageBox中顯示變量的值 ??????CString string; ??????string.format("%d%s",m_age, m_address); //將變量組裝到字符串中 ???????MessageBox(string,"消息框標(biāo)題",消息框類型); ? 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 【函數(shù)】 <整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType); 【函數(shù)說明】 彈出一個(gè)消息框。 【語法】 參數(shù): Text <字符串>,消息框的正文; Title <字符串>,消息框的標(biāo)題; nType <整型>,消息框的類型。 返回值:<整型>,用戶在消息框上點(diǎn)擊關(guān)閉時(shí)的選擇的按鈕。 【說明】 其中nType對應(yīng)的對話框如下表所示: 0: 確定 1: 確定,取消 2: 終止,重試,忽略 3: 是,否,取消 4: 是,否 5: 重試,取消 6: 取消,再試一次,繼續(xù)(注:Windows NT下不支持) 返回值對應(yīng)的值如下: 1: 確定 2: 取消 3: 終止 4: 重試 5: 忽略 6: 是 7: 否 10:再試一次 ????????應(yīng)用程序中的提示信息處理程序是非常出重要的部分,用戶要知道他輸入的資料到底正不正確
,或者是應(yīng)用程序有一些提示信息要告訴用戶,都必須通過提示信息處理程序來顯示適當(dāng)?shù)男畔?#xff0c;
讓用戶了解下一步該如何配置。提示信息有很多種類,包括警告,錯(cuò)誤,提示,確認(rèn),重試等。不
同種類的提示信息框適合用在各種不同的情況。
在C++Builder中開發(fā)提示信息框只須調(diào)用MessageBox這個(gè)信息提示框函數(shù)就行,下面就是這個(gè)
函數(shù)說明:
int __fastcall MessageBox(const char * Text,//提示信息框的內(nèi)容
const char * Caption, //提示信息框的標(biāo)題
int Flags); //提示信息框的類別
參數(shù)Flags的值是用來標(biāo)志提示信息框的類別的,下面是一些常用的類別:
參數(shù)值 樣式 意義 MB_ICONWARNING 含圖標(biāo)、固定按鈕 警告信息框 MB_ICONQUESTION 含圖標(biāo)、固定按鈕 疑問信息框 MB_IConERROR 含圖標(biāo)、固定按鈕 錯(cuò)誤信息框 MB_ICONASTERISK 含圖標(biāo)、固定按鈕 提示信息框 MB_HELP 不含圖標(biāo)、可改變按鈕 說明信息框 MB_OK 不含圖標(biāo)、可改變按鈕 提示信息框 MB_OKCANCEL 不含圖標(biāo)、可改變按鈕 確認(rèn)信息框 MB_RETRYCANCEL 不含圖標(biāo)、可改變按鈕 重試信息框 MB_YESNO 不含圖標(biāo)、可改變按鈕 是否信息框 MB_YESNOCANCEL 不含圖標(biāo)、可改變按鈕 是否取消信息框
從上表可以看出來,提示信息框的類別可以分成含圖標(biāo)和不含圖標(biāo),含圖標(biāo)的意思就是指提示
信息框上會(huì)有代表意義的圖形,不過這類型的提示信息框的按鈕都是固定的,都是【確定】按鈕,
不能增加也不能省略;不含圖標(biāo)的提示信息框,雖然沒有對應(yīng)的圖形顯示在提示信息框上,可是你
卻可以在這種類型的提示信息框內(nèi),加入各種組合的按鈕,用于各種不同的情況。
MessageBox函數(shù)會(huì)返回一個(gè)整數(shù)值,這個(gè)整數(shù)值代表用戶剛剛點(diǎn)擊提示信息框上的哪個(gè)按鈕,每個(gè)
返回值的代表意義在下表:
返回值 數(shù)值 意義 IDOK 1 確定 IDCANCEL 2 取消 IDABORT 3 中斷 IDRETRY 4 重試 IDIGNORE 5 忽略 IDYES 6 是 IDNO 7 否
下面是提示信息框的示范程序:
1. 警告信息框
Application->MessageBox("警告信息框","警告信息框",MB_ICONWARNING);
2.疑問信息框
Application->MessageBox("疑問信息框","疑問信息框",MB_ICONQUESTION);
3.錯(cuò)誤提示框
Application->MessageBox("錯(cuò)誤信息框","錯(cuò)誤信息框",MB_IConERROR);
4.提示信息框
Application->MessageBox("提示信息框","提示信息框",MB_ICONASTERISK);
5.說明信息框
Application->MessageBox("說明信息框","說明信息框",MB_HELP);
6.提示信息框
Application->MessageBox("提示信息框","提示信息框",MB_OK);
7.確認(rèn)信息框
Application->MessageBox("確認(rèn)信息框","確認(rèn)信息框",MB_OKCANCEL);
8.重試信息框
Application->MessageBox("重試信息框","重試信息框",MB_RETRYCANCEL);
9.是否信息框
Application->MessageBox("是否信息框","是否信息框",MB_YESNO);
10.是否取消信息框
Application->MessageBox("是否取消信息框","是否取消信息框",MB_YESNOCANCEL);
在C++Builder中,還提供了一個(gè)很簡單的信息提示框函數(shù),那就是ShowMessage。這個(gè)函數(shù)只
有一個(gè)字符串參數(shù),你可以把要顯示的字符串放到這個(gè)字符串參數(shù)里面,ShowMessage就回顯示出
該信息,但是沒有圖標(biāo),也沒有按鈕,只有單純的字符串信息而已。
下面是ShowMessage函數(shù)的說明:
extern PACKAGE void __fastcall ShowMessage(const AnsiString Msg);
例子:
ShowMessage("這個(gè)就是ShowMessage函數(shù)生成的信息提示框!");
Application->MessageBox("AA", "BB", MB_OK | MB_ICONSTOP); 或 MessageBox(Application->Handle,"AA", "BB", MB_OK | MB_ICONSTOP); 這種寫法“級別”最高:如果彈出這樣的對話框,不點(diǎn)掉,Application下所有的Form都 不能“動(dòng)”的。
MessageBox(Form1->Handle,"AA", "BB", MB_OK | MB_ICONSTOP); 這種寫法“級別”其次:如果彈出這樣的對話框,不點(diǎn)掉,只有From1不能“動(dòng)”,其他 Show()的From還可以點(diǎn)。
MessageBox(NULL,"AA", "BB", MB_OK | MB_ICONSTOP); 這種寫法“級別”最低:如果彈出這樣的對話框,不點(diǎn)掉,From1也能“動(dòng)”,其他 Show()的From也可以點(diǎn)。 |