如下代码可以创造一个非模态对话框
void CllView::OnDialog()
{
CTestDlg *pDlg = new CTestDlg;
pDlg->Create(IDD_DIALOG1,this);
pDlg->ShowWindow(SW_SHOW);
}
此时创建的对话框处于激活状态,是时候我们需要父窗口为激活状态而且不出现标题框的闪烁,我们只需要做到以下几处改动:
1,声明p_Dlg为成员变量CTestDlg *pDlg,并为它申请空间pDlg = new CTestDlg;
2,创建对话框,让子窗口的Create操作在父窗口的OnInitDialog中执行.
3,显示子窗口,dlg->ShowWindow(SW_SHOWNOACTIVATE);