CCSSManagerDlg *pdlg = NULL;
pdlg=new CCSSManagerDlg();
pdlg->Create(IDD_CSSMANAGER_DIALOG);
    pdlg->ShowWindow(SW_HIDE);
MSG msg;
while(::GetMessage(&msg,NULL,0,0))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
if((msg.hwnd==pdlg->m_hWnd)&&(msg.message==WM_QUIT))
{
break;
}
}
delete pdlg;这样创建一个一运行就隐藏的对话框,运行时那个对话框还是会闪现一下,我想它一运行就完全隐藏,不要闪现一下,请问有没有办法解决?

解决方案 »

  1.   

    LRESULT CMailDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
          //隐藏条件如
          if(message == 133)
          //隐藏
             ShowWindow(SW_HIDE);
    return CDialog::DefWindowProc(message, wParam, lParam);
    }
      

  2.   

    别调用ShowWindow()函数。创建的时候窗口风格中不要加入"WS_VISIABLE"
      

  3.   

    把对话框属性Styles标签中的Style:设置成Child;并把More Styles标签中的Visible设置成不选中状态,直接用Create()函数就行了,不必使用ShowWindow()函数。