看到贵网站刊登的文章《制作系统托盘程序》,颇有一番感触,这篇文章是《程序员大本营》上一篇文章的变体,但遗憾的是原来的BUG依然,希望作者能够再仔细想一想。其实,在任务条上添加托盘比较容易实现,调用VC中的函数就可以解决,只是注意协调。接下来,我将给大家提供一个类,可以很容易的达到我们的目的,希望它能给大家一点帮助,如果你发现BUG也欢迎你和我联系。运行程序,左键双击或者右键单击任务条上的托盘,我们可以看到效果。
1. 有关类CsystemTray的说明:(文章的最后有本类的具体实现代码)
CSystemTray是CObject的扩展类,实现以下功能:
1、在任务条显示托盘图标。
2、设置提示Tip
3、设置图标的形状
主要函数说明:
Create(CWnd* pWnd, UINT uCallbackMessage, LPCTSTR szTip, HICON icon, UINT uID); |
功能:
生成一个图标。
参数说明:
pWnd:程序的主窗口,
uCallbackMessage:对应的消息映射,
szTip:鼠标停留时的提示文字,
icon:显示的图标,
uID:与之对应的菜单ID
· BOOL CSystemTray::SetIcon(HICON hIcon)
BOOL CSystemTray::SetIcon(LPCTSTR lpszIconName)
BOOL CSystemTray::SetIcon(UINT nIDResource)
BOOL CSystemTray::SetStandardIcon(LPCTSTR lpIconName)
BOOL CSystemTray::SetStandardIcon(UINT nIDResource)
功能:更改托盘上的图标。
void CSystemTray::ShowIcon()
功能:显示图标。
· BOOL CSystemTray::SetTooltipText(LPCTSTR pszTip)
BOOL CSystemTray::SetTooltipText(UINT nID)
功能:提示显示文字。