首页 > 代码库 > [转]VC中如何实现窗口的隐藏
[转]VC中如何实现窗口的隐藏
用MFC做的Dialog based 程序只要在OnInitDialog()函数里面写如下代码就能实现窗口隐藏:
SetWindowPos(&CWnd::wndNoTopMost,0,0,0,0,SWP_HIDEWINDOW); ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
但是在任务管理器中还能看到!
将上述代码写入一个按纽的CLICK事件中即可实现程序的后台运行,且任务管理器中不可见!
下面的方法可以使窗口彻底的不可见:
1. 如何有效地使初始窗口不显示
当我们想让窗口初始时不显示时,通常会用ShowWindow(SW_HIDE) ,但实际上还是在启动是可以看到窗口一闪而过的痕迹。所以,可以使用下面的方法来实现它:
(1.1)先在构造函数中设置布乐变量 visible值为false.
visible = false;
(1.2)重载 WM_WINDOWPOSCHANGING,并添加下面代码:
void CTest_deleteDlg::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos) { if(!visible) lpwndpos->flags &= ~SWP_SHOWWINDOW; CDialog::OnWindowPosChanging(lpwndpos); }
(1.3)然后设布尔visible变量值为true,并在要显示窗口时,再用ShowWindow(SW_SHOW)既可。visible = true;
ShowWindow(SW_SHOW);
[转]VC中如何实现窗口的隐藏
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。