傳送給對話方塊(模態和非模態)的訊息是由程式中的對話方塊過程進行處理的。這個過程與真正的視窗過程看起來很像,但其實是不一樣的,對話方塊的視窗過程屬於windows,對於許多訊息,這個視窗過程會呼叫對話方塊過程。
bool callback dlgpro( hwnd hdlg, uint message, wparam wparam, lparam lparam);
switch(message)
case wm_initdialog:
returm true;
case ***x_msg:
returm true;
break;
return false;
對話方塊過程與一般視窗過程的引數是一樣的,而且必須被定義成callback函式。
對話方塊過程與一般視窗過程的區別有:
1、視窗過程的返回值是lresult,對話方塊過程的返回值是bool。
2、當視窗過程不處理一條訊息時,它會呼叫defwindowproc;當對話方塊處理一條訊息時會返回true(非零),而當它不處理一條訊息時返回false(零)。
3、對話方塊過程不需要處理wm_paint和wm_destroy訊息,也不會收到wm_create訊息。它會在一條專門的 wm_initdialog訊息中進行初始化。
wm_initdialog訊息是對話方塊過程收到的第一條訊息,這條訊息只傳送給對話方塊過程。當對話方塊過程返回true時,windows會把輸入焦點設定到對話方塊的第乙個含有ws_tabstop樣式的子視窗控制項上。
除上述訊息外,對話方塊過程只處理wm_command訊息,它會通過對wm_command訊息進行 loword(wparam) 操作,獲得控制項id後進行相應處理。
對話方塊 訊息對話方塊
我們在使用windows系統的過程中經常會見到訊息對話方塊,提示我們有異常發生或提出詢問等。因為在軟體開發中經常用到訊息對話方塊,所以mfc提供了兩個函式可以直接生成指定風格的訊息對話方塊,而不需要我們在每次使用的時候都要去建立對話方塊資源和生成對話方塊類等。這兩個函式就是cwnd類的成員函式mes...
對話方塊中顯示對話方塊
一 對話方塊中顯示對話方塊的方法 1 首先建立要在對話方塊裡顯示的那個對話方塊,命名為 idd inner 設定這個對話方塊的屬性 1 style 選擇 child 中文版 樣式 選擇 下層 2 border 為 none 中文版 邊框 選擇 無 2 為了顯示時能夠準確定位,我們可以在右邊要顯示對話...
常用對話方塊 訊息對話方塊
使用windows系統的過程中經常會見到訊息對話方塊,提示我們有異常發生或提出詢問等。因為在軟體開發 中經常用到訊息對話方塊,所以mfc提供了兩個函式可以直接生成指定風格的訊息對話方塊,而不需要我們在每次使用的時候都要去建立對話方塊資源和生成對話方塊類等。這兩個函式就是cwnd類的成員函式messa...