MFC隐藏窗口及图标
隐藏窗口
声明:BOOL CWnd::SetWindowPos(const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags);
示例:SetWindowPos(&CWnd::wndNoTopMost, 0, 0, 0, 0, SWP_HIDEWINDOW);
HWND_NOTOPMOST:值为-2,将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后)。如果窗口已经是非顶层窗口则该标志不起作用。
SWP_HIDEWINDOW:隐藏窗口
隐藏窗口任务栏图标
扩展窗口风格(Extended Window Styles)
WS_EX_APPWINDOW
当窗口可见时,将一个顶层窗口放置到任务条上。
Forces a top-level window onto the taskbar when the window is visible.
WS_EX_TOOLWINDOW
创建工具窗口,即窗口是一个游动的工具条。工具窗口的标题条比一般窗口的标题条短,并且窗口标题以小字体显示。工具窗口不在任务栏里显示,当用户按下alt+Tab键时工具窗口不在对话框里显示。如果工具窗口有一个系统菜单,它的图标也不会显示在标题栏里,但是,可以通过点击鼠标右键或Alt+Space来显示菜单。
Creates a tool window, which is a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the task bar or in the window that appears when the user presses ALT+TAB.
MFC修改扩展窗口风格接口
移除窗口WS_EX_APPWINDOW,增加WS_EX_TOOLWINDOW,用于隐藏此窗口任务栏图标。
声明:BOOL CWnd::ModifyStyleEx(DWORD dwRemove, DWORD dwAdd, UINT nFlags = 0);
示例:ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);
显示窗口图标在任务栏托盘中
Shell_NotifyIcon,主要用于向任务栏的状态栏发送一个消息。
NOTIFYICONDATA nid;
nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd = this->m_hWnd;
nid.uID = IDR_MAINFRAME;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = WM_SHOWTASK;
nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME)); // 图标
strcpy(nid.szTip, "托盘图标测试"); // 鼠标停留时提示信息
Shell_NotifyIcon(NIM_ADD, &nid);
NIM_ADD:向托盘区域添加一个图标
范例
BOOL CAlarmGuiDlg::OnInitDialog()
{CDialog::OnInitDialog();ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);SetWindowPos(&CWnd::wndNoTopMost, 0, 0, 0, 0, SWP_HIDEWINDOW); NOTIFYICONDATA nid;nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA);nid.hWnd = this->m_hWnd;nid.uID = IDR_MAINFRAME;nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;nid.uCallbackMessage = WM_SHOWTASK; nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME));strcpy(nid.szTip, "托盘图标测试"); Shell_NotifyIcon(NIM_ADD, &nid); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
效果:
MFC隐藏窗口及图标相关推荐
- MFC 隐藏/显示鼠标图标
ShowCursor(FALSE);//隐藏鼠标图标 ShowCursor(TRUE);//显示鼠标图标
- MFC隐藏窗口时解决窗口闪烁问题
先说一下解决方法(以单文档程序为例) 1,从CSingleDocTemplate派生自己的类CMySingleDocTemplate并重写InitialUpdateFrame(CFrameWnd* p ...
- 关于MFC程序中隐藏任务栏图标的问题
前几天有个MFC对话框程序,有个隐藏任务栏图标的功能需求,就在网上搜了搜,发现基本上都是这一句: ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);也就是 ...
- MFC子窗口设置,添加最小化按键,显示任务栏图标,点击关闭退出程序
MFC子窗口默认只有一个关闭按钮,并且没有任务栏图标存在,如何给子窗口添加最小化按钮并且显示任务栏图标 在窗体的属性菜单中,有Minimize Box项设置成true,就会出现最小化按钮 在窗体的On ...
- MFC修改窗口无标题和标题信息,修改执执行文件图标
一.创建MFC后 窗口显示的是 无标题-工程名 修改方法在网上看到了几种,下面介绍下比较简单的一种: 1.在MianFrame.c文件中找到这个函数 BOOL CMainFrame::PreCreat ...
- 隐藏窗口和任务栏图标的实现
网上也有这类小程序,用过2个都觉得不够方便,所以就想着自己来实现一个. 功能:响应快捷键或者按钮隐藏(显示)包含关键字的窗口和任务栏图标,可设定隐藏关键字.设定快捷键.程序最小化到托盘. 主要包含以下 ...
- MFC隐藏主窗口运行的几种方法
有很多应用程序要求一起动就隐藏起来,这些程序多作为后台程序运行,希望不影响其他 窗口,往往只在托盘区显示一个图标.这些程序通常都是对话框程序,而对话框在初始化的过程上与SDI.MDI的初始化是不同的, ...
- C++ 实现隐藏窗口和任务栏图标,再也不用担心玩游戏被发现了
# 前言 大家在日常生活中经常会遇到玩游戏被发现的情况,在我们使用电脑的时候,即使将窗口最小化,任务栏上仍然会留下图标,非常容易被发现. 为了解决这个问题,我使用 C++ 编写了一个可以一键隐藏窗口的 ...
- MFC程序隐藏任务栏图标的三种方法
在VC编程中,有时候我们需要将我们的程序在任务栏上的显示隐藏起来,我试过几种方法,下面我介绍一下我知道的三种方法. 第一种方法是设置窗口WS_EX_TOOLWINDOW扩展样式,通过在OnInitDi ...
- [VC/MFC]一条语句实现程序运行时隐藏窗口
因为受到经济危机的影响,我在 bokee.com 的博客可能随时出现无法访问的情况:因此将2005年到2006年间在 bokee.com 撰写的博客文章全部迁移到 csdn 博客中来,本文正是其中一篇 ...
最新文章
- 滚动联动-单独滚动与文档滚动
- 《系统集成项目管理工程师》必背100个知识点-96我国企业信息化发展的战略要点...
- fedora mysql 初始化_Linux(fedora)下启动MySQL,结果显示:env: /etc/init.d/mysql:权限不够。 我已经将权限切换到su了...
- 33. 脱壳篇-重建输入表
- 透视变换--基于getPerspectiveTransform()及像素赋值(未涉及插值)
- javascript中基本类型和引用类型的区别分析
- java juc 包_JUC java并发包
- 如何从课堂与教学内容两方面提高培训效率
- 犀牛插件-插件开发-rhino-插件开发形式
- 计算机在条形码的应用,条码应用
- 不小心将项目的 iml文件删除了怎么办
- Android 10去除电池图标以及设置
- zzuli1116删除元素
- 均值定理最大值最小值公式_数学均值定理怎么求不等式的最大值最小值,求教会(ฅω*ฅ)...
- 关于微信小程序picker之multiSelector多列选择器
- 2021927学习总结
- nextjs 基于 isomorphic-unfetch 封装自己的请求库
- MyBatis foreach 标签常用方法总结
- C#.NET程序尝试—修复Excel批注错误
- YZ-9846时间同步装置 “四统一、四规范”,确保各时间同步设备时间高精度统一