您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:34 来源:vckbase.com

推荐一个简单的托盘类
作者:郑金冶

下载本文示例源代码

逆风者
有的网友开发了自己的托盘类,实现起来略微烦琐。在这里我向大家推荐一个实现简单而十分有效的托盘类(是我在一本书中学来的)。
1、 把TrayIcon.cpp和TrayIcon.cpp拷贝到你的项目目录,并添加到项目中。


2、 在DemoDlg.h中加入#include “TrayIcon.h”
3、 通过类向导向类CDemoDlg添加成员变量CTrayIcon m_CTrayIcon;
4、 建立菜单资源,使其ID为:IDR_DEMO,设计菜单:

向demo1和exit添加事件处理程序:

void CDemoDlg::OnFileDemo1()

{

	ShowWindow(SW_SHOW);

	m_TrayIcon.RemoveIcon();

}

	

void CDemoDlg::OnFileExit()

{

	m_TrayIcon.RemoveIcon();

	OnCancel();

}
5、 在DemoDlg.cpp中自定义消息 #define WM_ICON_NOTIFY WM_USER 10,并在声明消息处声明消息处理函数:
BEGIN_MESSAGE_MAP(CDemoDlg, CDialog)

	......

	ON_MESSAGE(WM_ICON_NOTIFY, OnTrayNotification)

	……

END_MESSAGE_MAP()

在类CDemoDlg中增加成员函数:
LRESULT OnTrayNotification(WPARAM wParam,LPARAM lParam);
实现部分:
LRESULT CDemoDlg::OnTrayNotification(WPARAM wParam,LPARAM lParam)

{

	return m_TrayIcon.OnTrayNotification(wParam,lParam);

}

6、 在对话框添加“开始”按扭,并双击“开始”按扭编辑处理程序:

void CDemoDlg::OnBnClickedButton1()

{

	m_TrayIcon.Create(this,WM_ICON_NOTIFY,"鼠标指向时显示",m_hIcon,IDR_DEMO); //构造

	ShowWindow(SW_HIDE); //隐藏窗口

}

7、 可以灵活使用其它类成员函数。如:SetIcon改变图标,可以通过Timer消息实现托盘图标动画效果。
8、 删除托盘图标:m_TrayIcon.RemoveIcon();
相关文章

如何在C#应用程序和DLL中使用消息
连接 COM 与 .NET 的桥梁(三)——COM 服务
Windows 文件过滤驱动经验总结
一个基于MFC的XML封装类 CXml
Windows快捷方式文件格式解析
关于托盘的一点总结
创建客户区窗口,列表框之间项的拖拽操作
视频采集
通过异步程序调用(APC)实现的定时功能
乱砍设计模式之零
内存优化之道:托管代码的失传内存优化技术
MFC架构下的DirectX8
C QA 专栏:列表视图模式,SetForeground
C# 2.0匿名方法揭密
动态真彩工具栏
实现类似Excel和Visual C 里文件夹式样的标
TIF格式图像文件初探
子类化:增强Edit控件为日期输入控件
如何限制PC机上网
用VC轻松实现 ADO.net

相关评论


本文章所属分类:首页 VC++

  热门关键字: