托盘使用示例(VC6+MFC)



在Windows编程中,"托盘"通常指的是系统托盘(System Tray),也就是任务栏右下角的通知区域。这里我们讨论的是如何在Visual C++ 6.0(VC6)环境中,利用Microsoft Foundation Classes (MFC)库来创建和管理一个具有托盘功能的应用程序。MFC是微软提供的C++类库,它封装了Windows API,使得Windows应用程序开发更加方便。 创建一个基于对话框的应用程序。在VC6中,选择"文件" -> "新建" -> "项目",然后选择"MFC AppWizard (Dialog Based)"模板。在向导中,按照提示配置项目信息,如项目名、位置等。 接着,我们需要添加必要的头文件和库。在源代码中包含`#include <afxwin.h>`,确保可以使用MFC的窗口类。同时,为了实现托盘图标,还需要包含`#include <afxtrayicon.h>`,这个头文件包含了`CTrayIcon`类,用于处理托盘图标。 接下来,我们要创建一个`CTrayIcon`对象。在你的主对话框类(通常是`CMyDlg`)的构造函数中实例化它,并传递对话框的指针作为参数。例如: ```cpp CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg::IDD, pParent) { //... m_trayIcon.Create(this, IDR_MAINFRAME); // IDR_MAINFRAME是资源ID,通常是你的应用程序图标 } ``` 设置托盘图标后,需要处理用户与托盘图标的交互,例如双击、右键点击等。为此,你需要重载`OnNcLButtonDown`、`OnTrayIconClick`等消息处理函数。例如,添加双击托盘图标时显示/隐藏窗口的逻辑: ```cpp void CMyDlg::OnNcLButtonDown(UINT nHitTest, CPoint point) { if (nHitTest == HTCAPTION && m_trayIcon.IsWindowVisible()) ShowWindow(SW_HIDE); else if (nHitTest == HTCAPTION) ShowWindow(SW_SHOW); CDialog::OnNcLButtonDown(nHitTest, point); } void CMyDlg::OnTrayIconClick() { if (IsWindowVisible()) ShowWindow(SW_HIDE); else ShowWindow(SW_SHOW); } ``` 为了使托盘图标闪烁,可以使用`CTrayIcon`的`FlashWindow`方法。例如,当有新通知时,可以调用: ```cpp m_trayIcon.FlashWindow(TRUE); ``` 别忘了在析构函数中删除`CTrayIcon`对象,防止内存泄漏: ```cpp CMyDlg::~CMyDlg() { m_trayIcon.DestroyIcon(); } ``` 在资源编辑器中,为你的应用程序添加图标资源,ID通常设为IDR_MAINFRAME。编译并运行程序,你应该能看到托盘图标,并能通过点击或双击进行相应的操作。 以上就是在VC6+MFC环境下创建和管理托盘图标的基本步骤。实际应用中,你可能需要根据具体需求添加更多的消息处理函数,比如处理托盘菜单等。通过熟练掌握`CTrayIcon`类的使用,你可以构建出具有复杂托盘功能的应用程序。











































- 1

- mengzhiba2013-01-17不能用呢?奇怪哦
- 明湖居士20182012-09-04用作范例程序还是很不错的。

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 互联网视角下以学生为中心的高职大学英语教学探究.docx
- Docker部署实战项目之简易Web应用基础教程
- 大数据背景下智慧云公交调度管理系统的框架设计.docx
- 大数据时代的知识论.docx
- 综合布线的技术方案.doc
- Web的物业管理信息.doc
- 《城规划信息化》第期.docx
- 2018年自贡市公需科目《大数据时代的互联网信息安全》考试题2.docx
- MATLAB程序设计.doc
- 项目管理的成功方程式-控制成本六大原则.docx
- 网络谣言危害分析.ppt
- 燃气轮机仿真体系与研发信息化建设方案及实践.pdf
- 计算机远程网络通讯技术与运用.docx
- 基于VBSE下的《会计综合实训》课程设计.docx
- 项目管理的五个过程组.docx
- 基于遗传算法和BP神经网络的服装销售预测.docx


