繁体   English   中英

MFC:创建无模式对话框而不显示

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM