MFC中的通過訊息對話方塊 除錯程式

2021-07-02 15:07:07 字數 1617 閱讀 2572

在mfc 中程式繁雜,很容易出錯。有時間斷點不一定能直觀的顯示程式執行的情況。所以,我們可以再函式中任意一行新增

messagebox(_t("***************xx"));

或者:massagebox(_t("程式執行到此處"));

來測試程式 。

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

cwnd::messagebox()函式

cwnd::messagebox()的函式原型如下:

int messagebox(

lpctstr lpsztext,

lpctstr lpszcaption = null,

uint ntype = mb_ok 

);引數說明:

lpsztext:需要顯示的訊息字串。

lpszcaption:訊息對話方塊的標題字串。預設值為null。取值為null時使用預設標題。

ntype:訊息對話方塊的風格和屬性。預設為mb_ok風格,即只有「確定」按鈕。

ntype的取值可以是下面兩個表中任取乙個值,也可以是各取乙個值的任意組合。即可以指定乙個對話方塊型別,也可以指定乙個對話方塊圖示,還可以兩者都設定。

ntype 取值

引數說明

mb_abortretry

有「終止」、「重試」和「忽略」按鈕

mb_ok

有「確定」按鈕

mb_okcancel

有「確定」和「取消」按鈕

mb_retrycancel

有「重試」和「取消」按鈕

mb_yesno

有「是」和「否」按鈕

mb_yesnocancel

有「是」、「否」和「取消」按鈕

對話方塊型別表

ntype 取值

顯示圖示

mb_iconexclamtion

mb_iconwarning

mb_iconasterisk

mb_iconinformation

mb_iconquestion

mb_iconhand

mb_iconstop

mb_iconerror

對話方塊圖示表

如果想要設定ntype的值為型別和圖示的組合,可以像這樣取值:mb_okcancel | mb_iconquestion。按位取或就可以了。

2.afxmessagebox()函式

afxmessagebox()的函式原型為:

int afxmessagebox(

lpctstr lpsztext,

uint ntype = mb_ok,

uint nidhelp = 0 

);引數說明:

lpsztext:同cwnd::messagebox()函式

ntype:cwnd::messagebox()函式

nidhelp:此訊息的幫助的上下文id。預設值為0,取0時表示要使用應用程式的預設幫助上下文。

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

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

MFC對話方塊訊息傳遞順序

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

MFC對話方塊訊息傳遞順序

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