在启动前隐藏一个MFC DoModal对话框
Posted zcube
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在启动前隐藏一个MFC DoModal对话框相关的知识,希望对你有一定的参考价值。
实现在启动对话框前将DoModal对话框隐藏掉
1、在对话框中添加WM_WINDOWPOSCHANGING消息处理
BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
ON_WM_WINDOWPOSCHANGING()
END_MESSAGE_MAP()
BOOL CHiddenDialog::OnInitDialog()
CDialog::OnInitDialog();
m_visible = FALSE;
return TRUE;
void CHiddenDialog::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
if (!m_visible)
lpwndpos->flags &= ~SWP_SHOWWINDOW;
CDialog::OnWindowPosChanging(lpwndpos);
2、调用ShowWindows()重新显示对话框
m_visible = TRUE;
ShowWindow(SW_SHOW);
参考链接:
http://stackoverflow.com/questions/8255106/hiding-an-mfc-dialog-box
http://forums.codeguru.com/showthread.php?231065-MFC-Dialog-How-to-start-your-dialog-application-in-hidden-mode
以上是关于在启动前隐藏一个MFC DoModal对话框的主要内容,如果未能解决你的问题,请参考以下文章
MFC如何弹出新对话框的同时隐藏当前对话框并且关闭新对话框后出现之前对话框
MFC(C++)CDialog DoModal()没有按预期工作