主視窗中處理模態子視窗的狀態

2021-08-25 06:32:06 字數 619 閱讀 2359

做的專案,主視窗顯示乙個介面,然後再建立幾個非模態視窗顯示,如果使用者按鍵盤的乙個cancel鍵,系統會給主視窗傳送乙個訊息,主視窗需要處理這個訊息,關閉當前的非模態子視窗,然後顯示上乙個子視窗,在主視窗的pretranslatemessage中捕獲到了這個訊息,然後呼叫下面的模組進行了處理

定義了乙個 cdialog*pdlg指標來儲存當前子視窗的控制代碼,但是子視窗有時候也會彈出模態子視窗,所以有時候不能直接用pdlg來處理。

/// 處理cancel鍵退出訊息, 如果是主視窗或者模態視窗,不處理該訊息,返回窗體進行處理,只能檢查一層呼叫 pdlg是當前子視窗 bool cotp6100_ethernetdlg::ondialogcancel() } /// 獲取按鈕選單最右邊的按鈕值 ibuttoncount = m_tyfunctionbutton.m_buttoninfo.size()-1; csbuttontext= m_tyfunctionbutton.m_buttoninfo[ibuttoncount]->szbuttonname; /// 子視窗處理 if( csbuttontext==_t("返回") ) /// 「功能、系統資訊、關於」三個視窗顯示時處理 if ( hactiveparent!=null ) //主窗體 } return false; }

在MDI視窗中防止子視窗閃爍

解決的方法 1 過載precreatewindow,此方法能夠解決上述前兩種情況的閃爍問題 bool cchildframe precreatewindow createstruct cs 2 第3個問題的方法是處理mainframe的mdi client區域,mainframe cmdiframe...

MFC在子視窗中輸入資料在其他視窗中的資料傳輸

第一種方法 子視窗中將輸入資料儲存在建立的檔案中,在其他視窗讀取檔案內容 第二種方法 子視窗標頭檔案中加入 cstring inputaccount 子視窗.cpp檔案函式dodataexchange中加入 ddx text pdx,idc combo1,inputaccount 將控制項輸入資料與...

WPF主視窗中呼叫其他頁面

1 首先需要在主視窗的前端 mainwindow.xaml 定義乙個按鈕,並繫結乙個命令 command 2 在主視窗的vm中 mainviewmodel.cs 中註冊原頁面的vm,即 public myimdgsegregationviewmodel myimdgsegregationwindow...