我用做了一个基于对话框的程序。我想让他在一开始运行时就隐藏。我用SHOWWINDOW(SW_HIDE)居然不行。如何是好!?

解决方案 »

  1.   

    用CWnd*p =(CWnd*) GetActiveWindow()
    p->ShowWindow(SW_HIDE);试试
      

  2.   

    把INITINSTANCE改成这样:
    BOOL CTApp::InitInstance()
    {
    // Standard initialization
    CTest1Dlg* pdlg1 = new CTest1Dlg;
    m_pMainWnd = pdlg1;
    pdlg1->Create( pdlg1->IDD, NULL );
    pdlg1->ShowWindow(SW_HIDE);//隐藏
    //pdlg1->ShowWindow(SW_SHOW);//显示
    return TRUE;
    }
      

  3.   

    这样的窗体是隐藏的,但是一闪而过就结束了!!没有来的急做我要做的东西这是不行的,我在PreCreateWindow函数里头用了ShowWindow(SW_HIDE)就可以,但是我不想让它有闪过的痕迹。如何是好????
      

  4.   

    这样做,重载DefWindowProc()
    LRESULT CUseHookDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(message==133)
      ShowWindow(SW_HIDE);
    return CDialog::DefWindowProc(message, wParam, lParam);
    }
      

  5.   

    BOOL CTApp::InitInstance()
    {
    CTest1Dlg* pdlg1 = new CTest1Dlg;
    m_pMainWnd = pdlg1;
    pdlg1->Create( pdlg1->IDD, NULL );
    //pdlg1->ShowWindow(SW_HIDE);//不要加
    return TRUE;
    }