1. 模态对话框
由父窗口传递参数给子窗口
反过来感觉不太可能,还没看到类似的实现.主要原因在于,一旦调用DoModal()函数,控制权就会交给调用该函数的对话框,一直到点击了OK或CANCEL退出,而且只会返回有限的几种值,如IDOK,IDCANCEL
示例:
void ADlg::OnPopbtn()
{
// TODO: Add your control notification handler code here
BDlg pbdlg;
pbdlg.m_edit="i love u";
// pbdlg.UpdateData(FALSE);
pbdlg.DoModal();
}
注意:PopDlg 对象dlg(子窗口)不能调用UpdateData()函数,否则会出错。
在dlg的InitDlg()函数中,是否会有m_edit的处理。因为在DoModal()函数会自动调用InitDlg()。
这样,在点击了Pop按钮之后,就会弹出的对话框中m_edit关联的EDIT中显示“i love u”。
由子窗口传递参数给父窗口
做实验发现,用非模态对话框的方法也可以。即:在子窗口中建立到父窗口的指针,然后给其成员变量赋值。
代码:
void BDlg::OnOK()
{
// TODO: Add extra validation here