热情软件屋

 

如何在对话框程序一启动时,就将对话框最小化


编号:QA002213
建立日期: 1999年12月9日 最后修改日期:2002年1月2日
所属类别:

SF Tiger:
    操作系统: Win9x
    编程工具: VC++ 6.0
    问题: 如何在对话框程序一启动时,就将对话框最小化甚至 SW_HIDE 起来?在 CDialog::OnInitDialog() 中用 ShowWindow( SW_HIDE) 没用。

回答:

    在 CDialog::OnInitDialog() 中用ShowWindow(SW_MINIMIZE)可以使程序最小化,不过确实不能用这个办法使窗口隐藏。
    
    ff9的意见:
    //在app中加一对话框指针
    CTest01Dlg *m_pMainDlg;
    
    //修改app的InitInstance()不要用domodal()显示对话框
    BOOL CTest01App::InitInstance()
    {
     AfxEnableControlContainer();
    
    #ifdef _AFXDLL
     Enable3dControls(); // Call this when using MFC in a shared DLL
    #else
     Enable3dControlsStatic(); // Call this when linking to MFC statically
    #endif
    
     m_pMainDlg = new CTest01Dlg(); // Zxm
     m_pMainWnd = m_pMainDlg;
     if (!m_pMainDlg->Create(IDD_TEST01_DIALOG))
     return FALSE;
     m_pMainDlg->ShowWindow(SW_MINIMIZE);
     m_pMainDlg->ShowWindow(SW_HIDE);
     m_pMainDlg->UpdateWindow();
    
     return TRUE;
    }
    //释放指针
    int CTest01App::ExitInstance() // Zxm
    {
     delete m_pMainDlg;
    
     return CWinApp::ExitInstance();
    }
    //在对话框退出时要destorywindow
    void CTest01Dlg::OnOK()
    {
     CDialog::OnOK();
     DestroyWindow(); // Zxm
    }
    
    void CTest01Dlg::OnCancel()
    {
     CDialog::OnCancel();
     DestroyWindow(); // Zxm
    }
    
    zjf的意见:
    void CTestDlg::OnShowWindow(BOOL bShow, UINT nStatus)
    {
     CDialog::OnShowWindow(bShow, nStatus);
    
     ShowWindow(SW_OTHERZOOM);
    }

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio