[英]MFC: Creating modeless dialog box without displaying
我正在尝试创建一个简单的无模式对话框,该对话框是从我的 CWinApp 派生的 InitInstance() function 创建的。
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() 导致对话框过早显示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.