标题:
MFC模态对话框启动时候自动隐藏窗体
[打印本页]
作者:
ghosthand
时间:
2014-2-25 00:10
标题:
MFC模态对话框启动时候自动隐藏窗体
本帖最后由 ghosthand 于 2014-2-25 00:11 编辑
1、声明窗体回调函数,在对话框的头文件中
// Generated message map functions
//{{AFX_MSG(CHappyDlg)
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
复制代码
2、在窗体实现文件中作消息映射
BEGIN_MESSAGE_MAP(CHappyDlg, CDialog)
//{{AFX_MSG_MAP(CHappyDlg)
ON_WM_WINDOWPOSCHANGING()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
复制代码
3、在消息处理中对窗体实现隐藏
void CXXXDlg::OnWindowPosChanging(WINDOWPOS* lpwndpos)
{
//启动隐藏
if(lpwndpos->flags&SWP_SHOWWINDOW)
{
lpwndpos->flags&=~SWP_SHOWWINDOW;
PostMessage(WM_WINDOWPOSCHANGING,0,(LPARAM)lpwndpos);
ShowWindow(SW_HIDE);
}
else
CDialog::OnWindowPosChanging(lpwndpos);
}
复制代码
作者:
fwbook
时间:
2014-2-25 09:19
这个类似于微软Word加载的第一个窗口。显示加载完,就自动消失。
作者:
ghosthand
时间:
2014-2-25 22:57
回复
2#
fwbook
Word开始的窗口提示加载信息,加载完以后软件没必要再维护这个模态对话框的资源了,所以应该是被系统释放掉资源的。这帖子中的代码是将主对话框的属性修改后实现在不释放资源的情况下将模态对话框隐藏的。如果是非模态对话框的隐藏就比较容易了。
欢迎光临 万卷图书 (http://wanjuanchina.net/)
Powered by Discuz! 7.0.0