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