如果wxwindow不设置父窗口,那么他和cad就没有关系,他们是两个窗口,而showmodal只是消息阻塞,cad还能点击,如果点击就会挡住wxwindow。
模态窗口的创建大概是这么个流程,构建对象,设置父窗口,弹窗窗口,窗口的焦点自然从父窗口到了子窗口,系统创建模态窗口的时候会禁用父窗口,关闭的时候启用父窗口,焦点自然就回到了父窗口。
而wxwindow如果不能设置正确的设置父窗口,那么他是当做一个独立的窗口运行,关闭时焦点不会切换会父窗口,手动设置焦点就会闪屏。
手动模态对话框
 - CWnd* mfcWnd = acedGetAcadFrame();
- mfcWnd->EnableWindow(FALSE);
- CArxWxDialog dlg(nullptr);
- dlg.ShowModal();
- mfcWnd->EnableWindow(TRUE);
- mfcWnd->SetFocus();
|