推荐一个简单的托盘类

王朝vc·作者佚名  2006-01-17
宽屏版  字体: |||超大  

推荐一个简单的托盘类

作者:郑金冶

下载本文示例源代码

有的网友开发了自己的托盘类,实现起来略微烦琐。在这里我向大家推荐一个实现简单而十分有效的托盘类(是我在一本书中学来的)。

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();

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有