所以我有我的主对话框,通过这个函数调用无模式对话框(这是项目中的遗留代码):
void MyClass::ShowDialog(CDialog* dialog)
{
if (!IsWindow(dialog->m_hWnd))
{
return;
}
int nCmdshow1 = dialog->IsWindowVisible() ? SW_HIDE : SW_SHOW;
dialog->ShowWindow( nCmdshow1 );
}
问题:所有子对话框都位于我的主对话框之上。
期望的行为:无论是聚焦的(它们都是无模式的),无论是主对话框还是子对话框,我都希望它成为最顶层的对话框。谢谢!
注意:我已经尝试过我的主对话框OnInitDialog()
,但没有工作:
1. SetWindowPos(&this->wndTop,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
2.SetWindowPos(&this->wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
编辑
此外,子对话框是这样创建的:
m_subDlg1->Create( SubDlg1::IDD, this );