也谈如何隐藏显示在任务栏中的对话框程序

2016-01-29 11:56 3 1 收藏

也谈如何隐藏显示在任务栏中的对话框程序,也谈如何隐藏显示在任务栏中的对话框程序

【 tulaoshi.com - C语言心得技巧 】

也谈如何隐藏显示在任务栏中的对话框程序


作者:1.5kg

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

下载源代码

介绍
  在 VCKBASE Online Journal 第21期中,NorthTibet 写了“如何隐藏显示在任务栏中的对话框程序”一文,颇为巧妙,而且非常好用,唯一不爽的是有点麻烦。踩在他的肩膀上,我找到了一个比较简单的方法。

实现
  隐藏这个Main Dialog的思路就是把这个Dialog看成一个子窗口,然后再把WS_EX_APPWINDOW属性去掉。
WS_EX_APPWINDOW不大常用,MSDN的解释是:

Forces a top-level window onto the taskbar when the window is visible. 
把顶层的并且可见的窗口放到任务栏上,移除 WS_EX_APPWINDOW 很容易:
ModifyStyleEx(WS_EX_APPWINDOW, 0);
就可以了。

那么什么办法能够最简单的实现创建一个父窗口呢?CFrameWnd 就有点笨了,干脆就用自己好了。在
BOOL CHideApp::InitInstance()中:
CHideDlg dlgParent;dlgParent.Create(IDD_HIDE_DIALOG);dlgParent.ShowWindow(SW_HIDE);//dlgParent.ShowWindow(SW_SHOW);CHideDlg dlg(&dlgParent);m_pMainWnd = &dlg;int nResponse = dlg.DoModal();dlgParent.DestroyWindow();
在BOOL CHideDlg::OnInitDialog()中:
this->ModifyStyleEx(WS_EX_APPWINDOW, 0);
只短短几行,就实现了对话框在任务栏的隐藏。

结束语
  如果使用 CDialog 的话,ALT+TAB 图标就不对了:) 之前我也试过用 CWnd,可恨的是它还要去注册窗口类,相比之下还是CHideDlg 最经济,你说呢?祝大家身体健康,每天都有新发现!

E-Mail : webmaster@sanjin.51.net QQ : 923452

来源:https://www.tulaoshi.com/n/20160129/1483924.html

延伸阅读
显示选项 代码决定对话框将如何装入内存与如何显示。下表描述各种类型的显示任务以及用来执行这些任务的关键字。 Show方法装入窗体并设置它的Visible属性为True。传递给Show方法的参数标识了该对话框的类型。如果style参数省略或者设置为vbModeless或0(缺省),则对话框为无模式类型,如果style参数为vbModal或1,则对话...
如何在基于对话框的程序中动态设置鼠标指针 赵湘宁 本文范例程序     本文旨在示范在对话框的按钮上(或其它控制上)使用单独的鼠标指针。Windows编程中有两种方法改变指针:一种是当应用的主窗口类注册时,为WNDCLASS结构提供一个全程光标指针(HCU...
标签: 电脑入门
效率一向是多数人使用电脑的一个目标,怎样提高电脑操作的效率一直是很多用户的追求。在Win10系统上,我们可以快速从任务栏打开一个网站,只需要添加地址工具栏就行。 操作方法 1.右键点击任务栏,选择属性。 2.跳转到工具栏。 3.将地址前面的方框勾选,点击确定。 4.任务栏上出现了地址输入框,输入网址就能打开网站。 如果...
无 标题栏对话框的拖动 编译/NorthTibet 下载源代码     很多基于对话框的应用程序都是不带框架的,也就是说对话框没有标题栏。众所周知,窗口的移动都是通过鼠标点住标题栏拖动窗口实现的,那么现在没有了标题栏,如何移动对话框呢?本文拟针对这个问题提出...
标签: 办公软件
    Excel 2000 新增的在对话框中输入区域引用可以折叠的按钮,这样用户在工作表上选定所需的区域时,对话框就不会阻挡视线。对这类对话框的操作是,在折叠按钮上单击可以将其折叠,再次单击则返回到对话框,图2-9和图2-10分别显示了折叠前后的效果。

经验教程

355

收藏

49
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部