轉自: 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()。