MFC學習筆記3 訊息對話方塊

2021-07-14 13:41:15 字數 1753 閱讀 8953

mfc提供了兩種訊息對話方塊:一是cwnd的成員函式messagebox(), 還有乙個就是全域性函式afxmessagebox();

1. cwnd::messagebox()

建構函式如下:

int messagebox(

lpctstr lpsztext, //顯示訊息的字串

lpctstr lpszcaption = null, //標題,值為null時使用預設標題

uint ntype = mb_ok //對話方塊型別引數如下表

);

ntype的取值可以指定對話方塊型別也可以指定對話方塊圖示,型別和圖示的具體對應取值如下面兩個表:

ntype取值

對應型別

mb_abortretry

終止、重試、忽略

mb_ok

確定mb_okcancel

確定、取消

mb_retrycancel

重試、取消

mb_yesno

是、否mb_yesnocancel

是、否、取消

ntype取值

對應圖示

mb_iconexclamtion

mb_iconwarning

黃色驚嘆號

mb_iconnasterisk

mb_iconinformation

白色對話方塊背景藍色字母i

mb_iconquestion

白色對話方塊背景藍色問號

mb_iconhand

mb_iconstop

mb_iconerror

紅色叉

想要設定ntype為型別與圖示的組合,只需要使用位或符號「|」,如ntype = mb_okcancel | mb_iconquestion

2.afxmessagebox()

建構函式:

int afxmessagebox(

lpctstr lpsztext, //內容字串同messagebox()

uint ntype = mb_ok, //對話方塊型別,同messagebox()

uint nidhelp = 0 //此訊息幫助的上下文id

);

3.兩個函式的返回值

返回值是使用者在對話方塊上單擊按鈕的id,可能取值有:

idabort:終止

idok:確定

idcancel:取消

idignore:忽略

idretry:重試

idyes:是

idno:否

4.使用舉例

int_ptr nres;   

// 顯示訊息對話方塊

nres = messagebox(_t("確定要繼續?"), _t("選擇"), mb_okcancel | mb_iconquestion);

// 判斷訊息對話方塊返回值。如果為idcancel就return,否則繼續向下執行

if (idcancel == nres)

return;

......

-t("字串")中_t是巨集,意味著使用unicode字串,不加_t意味著使用ascii字串

VS2010 MFC(對話方塊 訊息對話方塊)

前面幾節講了屬性頁對話方塊,我們可以根據所講內容方便的建立自己的屬性頁對話方塊。本節講解windows系統中最常用最簡單的一類對話方塊 訊息對話方塊。我們在使用windows系統的過程中經常會見到訊息對話方塊,提示我們有異常發生或提出詢問等。因為在軟體開發中經常用到訊息對話方塊,所以mfc提供了兩個...

對話方塊 訊息對話方塊

我們在使用windows系統的過程中經常會見到訊息對話方塊,提示我們有異常發生或提出詢問等。因為在軟體開發中經常用到訊息對話方塊,所以mfc提供了兩個函式可以直接生成指定風格的訊息對話方塊,而不需要我們在每次使用的時候都要去建立對話方塊資源和生成對話方塊類等。這兩個函式就是cwnd類的成員函式mes...

MFC對話方塊訊息傳遞順序

mfc應用程式中處理訊息的順序,建立視窗的過程關閉視窗的順序 非模態視窗 開啟模式對話方塊的函式呼叫順序.2007 12 06 19 23mfc應用程式中處理訊息的順序 1.afxwndproc 該函式負責接收訊息,找到訊息所屬的cwnd物件,然後呼叫afxcallwndproc 2.afxcall...