如何在对话框程序一启动时,就将对话框最小化
编号: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);
}
此问题由李海回答。
| |
|
|
| |
|
|