天天看點

C++,MessageBox的常見用法

C++,MessageBox的常見用法       一      函數原型及參數

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

二    用法

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,"消息框标題",消息框類型);