VC MessageBox的詳細用法

一、關於MessageBox
消息框是個很常用的控件,屬性比較多,本文列出了它的一些常用方法,及指出了它的一些應用場合。
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;
附其它常用屬性:
系統默認圖標,可在消息框上顯示
X錯誤 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
?詢問 MB_ICONQUESTION
!警告 MB_ICONEXCLAMATION and MB_ICONWARNING
i信息 MB_ICONASTERISK and MB_ICONINFORMATION
按鈕的形式
MB_OK 默認
MB_OKCANCEL 確定取消
MB_YESNO 是否
MB_YESNOCANCEL 是否取消
返回值
IDCANCEL 取消被選
IDNO 否被選
IDOK 確定被選
IDYES 是被選
注意!!!:
以上消息框的用法是在CWnd的子類中的應用,如果不是,則要MessageBox(NULL,"ddd","ddd",MB_OK); 或MessageBox(hWnd,"ddd","ddd",MB_OK); hWnd爲某窗口的句柄,或者直接用AfxMessageBox。
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        //按否按鈕
二、在MessageBox中顯示變量的值
CString string;
string.format("%d%s",m_age, m_address); //將變量組裝到字符串中
MessageBox(string,"消息框標題",消息框類型);

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
【函數】 <整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType);
【函數說明】 彈出一個消息框。
【語法】
參數:
Text <字符串>,消息框的正文;
Title <字符串>,消息框的標題;
nType <整型>,消息框的類型。
返回值:<整型>,用戶在消息框上點擊關閉時的選擇的按鈕。
【說明】
其中nType對應的對話框如下表所示:
0: 確定
1: 確定,取消
2: 終止,重試,忽略
3: 是,否,取消
4: 是,否
5: 重試,取消
6: 取消,再試一次,繼續(注:Windows NT下不支持)
返回值對應的值如下:
1: 確定
2: 取消
3: 終止
4: 重試
5: 忽略
6: 是
7: 否
10:再試一次
應用程序中的提示信息處理程序是非常出重要的部分,用戶要知道他輸入的資料到底正不正確
,或者是應用程序有一些提示信息要告訴用戶,都必須通過提示信息處理程序來顯示適當的信息,
讓用戶瞭解下一步該如何配置。提示信息有很多種類,包括警告,錯誤,提示,確認,重試等。不
同種類的提示信息框適合用在各種不同的情況。
  在C++Builder中開發提示信息框只須調用MessageBox這個信息提示框函數就行,下面就是這個
函數說明:
int __fastcall MessageBox(const char * Text,//提示信息框的內容
const char * Caption, //提示信息框的標題
int Flags); //提示信息框的類別
  參數Flags的值是用來標誌提示信息框的類別的,下面是一些常用的類別:
參數值 樣式 意義
MB_ICONWARNING 含圖標、固定按鈕 警告信息框
MB_ICONQUESTION 含圖標、固定按鈕 疑問信息框
MB_IConERROR 含圖標、固定按鈕 錯誤信息框
MB_ICONASTERISK 含圖標、固定按鈕 提示信息框
MB_HELP 不含圖標、可改變按鈕 說明信息框
MB_OK 不含圖標、可改變按鈕 提示信息框
MB_OKCANCEL 不含圖標、可改變按鈕 確認信息框
MB_RETRYCANCEL 不含圖標、可改變按鈕 重試信息框
MB_YESNO 不含圖標、可改變按鈕 是否信息框
MB_YESNOCANCEL 不含圖標、可改變按鈕 是否取消信息框
  從上表可以看出來,提示信息框的類別可以分成含圖標和不含圖標,含圖標的意思就是指提示
信息框上會有代表意義的圖形,不過這類型的提示信息框的按鈕都是固定的,都是【確定】按鈕,
不能增加也不能省略;不含圖標的提示信息框,雖然沒有對應的圖形顯示在提示信息框上,可是你
卻可以在這種類型的提示信息框內,加入各種組合的按鈕,用於各種不同的情況。

MessageBox函數會返回一個整數值,這個整數值代表用戶剛剛點擊提示信息框上的哪個按鈕,每個
返回值的代表意義在下表:
返回值 數值 意義
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.錯誤提示框
Application->MessageBox("錯誤信息框","錯誤信息框",MB_IConERROR);
4.提示信息框
Application->MessageBox("提示信息框","提示信息框",MB_ICONASTERISK);
5.說明信息框
Application->MessageBox("說明信息框","說明信息框",MB_HELP);
6.提示信息框
Application->MessageBox("提示信息框","提示信息框",MB_OK);
7.確認信息框
Application->MessageBox("確認信息框","確認信息框",MB_OKCANCEL);
8.重試信息框
Application->MessageBox("重試信息框","重試信息框",MB_RETRYCANCEL);
9.是否信息框
Application->MessageBox("是否信息框","是否信息框",MB_YESNO);
10.是否取消信息框
Application->MessageBox("是否取消信息框","是否取消信息框",MB_YESNOCANCEL);
  在C++Builder中,還提供了一個很簡單的信息提示框函數,那就是ShowMessage。這個函數只
有一個字符串參數,你可以把要顯示的字符串放到這個字符串參數裏面,ShowMessage就回顯示出
該信息,但是沒有圖標,也沒有按鈕,只有單純的字符串信息而已。
下面是ShowMessage函數的說明:
extern PACKAGE void __fastcall ShowMessage(const AnsiString Msg);
例子:
ShowMessage("這個就是ShowMessage函數生成的信息提示框!");

Application->MessageBox("AA", "BB", MB_OK | MB_ICONSTOP);

MessageBox(Application->Handle,"AA", "BB", MB_OK | MB_ICONSTOP);
這種寫法“級別”最高:如果彈出這樣的對話框,不點掉,Application下所有的Form都
不能“動”的。
MessageBox(Form1->Handle,"AA", "BB", MB_OK | MB_ICONSTOP);
這種寫法“級別”其次:如果彈出這樣的對話框,不點掉,只有From1不能“動”,其他
Show()的From還可以點。
MessageBox(NULL,"AA", "BB", MB_OK | MB_ICONSTOP);
這種寫法“級別”最低:如果彈出這樣的對話框,不點掉,From1也能“動”,其他

Show()的From也可以點。

轉自:http://hi.baidu.com/%BD%D9jie%B8%F6%C9%AB/blog/item/470cb98eecd2e8e3f11f3603.html

發佈了22 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章