vs mfc 點擊父窗口的按鈕,彈出子窗口



轉自: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29121609&id=3883371


MFC 點擊一個對話框按鈕彈出另一個對話框

vs2010中

1.在資源中添加一個對話框  右擊Dialog | Insert dialog

2.在對話框上添加自己需要的按鈕等控件

3.雙擊控件會出現一個對話框,爲添加的對話框命名一個類名,例如Dlg2   自動生成.cpp和.h文件

4.在第一個對話框的.cpp文件中包含上面生成的那個.h文件

5.在第一個對話框的按鈕的響應函數中添加

Dlg2 dlg2;
dlg2.DoModal();

那麼點擊第一個對話框的那個按鈕時,就會彈出第二個對話框. 

另外介紹一下DoModa,DoModal負責對模態話框的創建和撤銷。在創建對話框時,DoModal的任務包括載入對話框模板資源、調用OnInitDialog初始化對話框和將對話框顯示在屏幕上。完成對話框的創建後,DoModal啓動一個消息循環,以響應用戶的輸入。由於該消息循環截獲了幾乎所有的輸入消息,使主消息循環收不到對對話框的輸入,致使用戶只能與模態對話框進行交互,而其它用戶界面對象收不到輸入信息。

要建立非模態對話框需要調用兩個函數Create()和ShowWindow()。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章