2008年(909)
分类:
2008-05-06 21:43:38
下载本文示例源代码
有的网友开发了自己的托盘类,实现起来略微烦琐。在这里我向大家推荐一个实现简单而十分有效的托盘类(是我在一本书中学来的)。
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); //隐藏窗口 }