目前位置: VCer资源中心 >>> VCer开源 >>> 可重用类

[本帖已阅读2799次 分值160 回复1次] 张贴资源 发回信箱 控制面板

轻轻松松将你的程序加上TrayIcon

提供者:bluejoe 张贴时间:2004-04-18 16:17:41.0 出处:vcer.net 作者:不祥

轻轻松松将你的程序加上TrayIcon(2004-04-18 16:17:41.0)


白乔


 
级别: VCer师长
头衔: VCer创始人

经验: 21093
作品: 513
分会: 华北分会
注册: 2003-12-01 09:20:32.0
登录: 2008-11-17 19:35:24.0
工程源码[19,642字节] 下载551
软件下载[79,615字节] 下载467

实现方法

使用CTrayIconDialog开发包可以在最短时间内将你的对话框程序加上通知栏图标及菜单。

CTrayIconDialog包主要包含2个类:CTrayIconDialog和CTrayIcon。前者完成对话框对TrayIcon的支持,后者则专门实现对TrayIcon的封装。

使用CTrayIconDialog包的步骤非常简单。

首要条件是你的应用必须是一个基于对话框的应用,或者你需要加上TrayIcon的窗口必须是个对话框。接下来你需要将CTrayIconDialog设置成你的对话框的基类,也就是说,你必须将CDialog替换成CTrayIconDialog。

记住,与你的对话框相关的所有的CDialog都要换成CTrayIconDialog。包括BEGIN_MESSAGE_MAP里面,还有一些函数里对基类CDialog函数的调用,等等。

替换完毕,你的程序运行时就会出现TrayIcon,如图所示:

trayicon2[1,350字节]

默认的图标是空的,提示文字告诉你:请使用GetTrayIcon()->Modify来设置你的图标。你可以照办,示例程序里面在CTrayIconDlgDemoDlg::OnInitDialog()里面就增添了以下语句:

这样就为TrayIcon设置了图标和菜单。

CTrayIconDialog的类定义如下:

你可以调用FlashTrayIcon来闪动图标,如示例程序中的:

OnTrayIconNotify、OnTrayIconRButtonUp、OnTrayIconLButtonDbclk以及OnTrayIconLButtonUp允许你更进一步地控制对TrayIcon的消息响应。

GetTrayIcon()返回TrayIcon对象,它的类定义如下:

只要你愿意,你还可以通过CTrayIcon来设置TrayIcon的左键菜单。

最后还需要说明的是,快照里面已经显示出TrayIcon的菜单是带有图标的。这得益于CCoolMenu,只要你再准备一个ToolBar资源,将它的ID与菜单资源的ID设置成一样,并且每个ToolBarButton的ID与菜单项的ID保持一致,生成的菜单就自然带上图标了:)是不是很方便?赶快下载试用吧。

该开发包中除了CCoolMenu是白乔借鉴Brent Corkum并在其基础上做了一些修改的;其它类皆为白乔自行设计,请大家放心使用:)

注:转载文章需注明来源:VCer.net 文章地址:http://vcer.net/1076417661342.html

  如果你觉得VCer.net不错,而且你愿意为VCer.net捐赠一元钱,那么点击后面的捐赠按钮吧:) vcer.net捐赠

1082687209616[385,308字节]

得意,我用他的代码;

自豪,他用我的代码!

[回复该贴] [加入个人书签]
[投票结果]

A: 评分 10 100% (6 票)
B: 评分 5 0% (0 票)
C: 评分 0 0% (0 票)
D: 评分 -5 0% (0 票)
E: 评分 -10 0% (0 票)

 


re:轻轻松松将你的程序加上TrayIcon
人气很高哦,本斑竹考虑给你奖励了

Bccv 于 2004-04-20 19:19:45.0 编辑 [回复该贴]