2 回答

TA貢獻1833條經驗 獲得超4個贊
模態對話框是下面這樣:
單擊 Geliang對話框的 OK按鈕彈出 test對話框
void CGeliangDlg::OnOK()
{
// TODO: Add extra validation here
dlg1 dlg;
int result=dlg.DoModal(); //調用對話框類的成員函數
CDialog::OnOK();
}
非模態的話:
首先在類CGeliangDlg聲明前面添加dlg1的聲明語句
class dlg1;
然后在CGeliangDlg中添加一個變量 dlg1 *pdlg; 并在CGeliangDlg的構造函數中初始化為NULL
然后利用類向導添加確定按鈕的消息映射
void CGeliangDlg::OnOK()
{
// TODO: Add extra validation here
if((pdlg!=NULL)&&::IsWindow(pdlg->m_hWnd))
{
AfxMessageBox("對話框已經被創建");
pdlg->ShowWindow(SW_SHOW);
}
else
{
pdlg=new dlg1();
}
if(!::IsWindow(pdlg->m_hWnd))
{
pdlg->Create(IDD_DIALOG1,this);
pdlg->ShowWindow(SW_SHOW);
}
//CDialog::OnOK(); //決定是否隱藏主對話框
}
希望對你有所幫助

TA貢獻1765條經驗 獲得超5個贊
首先要看你對話框是模態還是非模態。
以模態為例:
按鈕響應消息函數最后增加代碼:
CDialog::OnOk();
在調用該對話框處調整如下代碼:
CDialog dlg1,dlg2;
if(dlg1.DoModal()==IDOK)
dlg2.DoModal();
- 2 回答
- 0 關注
- 259 瀏覽
添加回答
舉報