2 回答

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

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
首先要看你對(duì)話框是模態(tài)還是非模態(tài)。
以模態(tài)為例:
按鈕響應(yīng)消息函數(shù)最后增加代碼:
CDialog::OnOk();
在調(diào)用該對(duì)話框處調(diào)整如下代碼:
CDialog dlg1,dlg2;
if(dlg1.DoModal()==IDOK)
dlg2.DoModal();
- 2 回答
- 0 關(guān)注
- 270 瀏覽
添加回答
舉報(bào)