1. 程式人生 > >VS2010 MFC點選父視窗的按鈕,彈出子視窗

VS2010 MFC點選父視窗的按鈕,彈出子視窗

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()。

來自:http://blog.csdn.net/daska110/article/details/51182145