我试图创建一个简单的非模态对话框,我从我的CWinApp派生InitInstance()函数创建。
BOOL CMyApp::InitInstance()
{
...
m_pMyDialog = new CMyDialog();
m_pMyDialog->Create(CMyDialog::IDD);
...
retrun TRUE;
}
我已经在资源编辑器中创建了对话框模板,WS_VISIBLE位未设置。我的意图是避免显示对话框,直到我显式地调用ShowWindow(SW_SHOW),但由于某种原因,调用Create显示对话框。
我试图改变OnInitDialog()的返回值为FALSE,但这不起作用。
我甚至尝试调用ModifyStyle(),以防其他东西设置WS_VISIBLE位。
int CMyDialog::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyle(WS_VISIBLE, 0);
return 0;
}
那也不行。在所有情况下,在我调用Create之后,显示对话框,这不是我读它应该工作的方式。
问题是AnimateWindow()导致对话框过早显示