VC 程序显示托盘图标功能
2015-05-17 17:08
288 查看
1.在资源中添加图标项,通过导入源图像或重新绘制。新建图标文件时需先创建一个,然后再导入图片。改变系统默认的需导入图片,然后复制粘贴,去掉图片透明属性。
2.在程序初始化部分增加如下代码
该消息为响应托盘图标鼠标事件添加。
2.在程序初始化部分增加如下代码
<span style="white-space:pre"> </span>//图标句柄 HICON hIcon; char lpszTip[] = _T("XXX"); HINSTANCE hInst = AfxFindResourceHandle(MAKEINTRESOURCE(IDI_TRAYICON),RT_GROUP_ICON); hIcon = (HICON)LoadImage(hInst,MAKEINTRESOURCE(IDI_ICON1),IMAGE_ICON,16,16,LR_DEFAULTCOLOR); //给NOTIFYICONDATA结构赋值 //NOTIFYICONDATA tnid; <span style="white-space:pre"> </span>tnid.cbSize = sizeof(NOTIFYICONDATA); <span style="white-space:pre"> </span>tnid.hWnd = m_hWnd; <span style="white-space:pre"> </span>tnid.uID = IDI_ICON1; <span style="white-space:pre"> </span>tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; <span style="white-space:pre"> </span>tnid.uCallbackMessage = WM_SHOWTASK; //自定义消息 <span style="white-space:pre"> </span>tnid.hIcon = hIcon; if (lpszTip) <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>lstrcpyn(tnid.szTip, lpszTip, sizeof(tnid.szTip)); <span style="white-space:pre"> </span>else <span style="white-space:pre"> </span>tnid.szTip[0] = '\0'; //调用Shell_NotifyIcon函数通过NIM_ADD向任务栏写图标 Shell_NotifyIcon(NIM_ADD, &tnid); //释放图标资源 if (hIcon) DestroyIcon(hIcon);3.添加自定义消息
该消息为响应托盘图标鼠标事件添加。
#define WM_SHOWTASK WM_USER+103 afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam); ON_MESSAGE(WM_SHOWTASK,onShowTask) LRESULT Crfm2gcommDlg::onShowTask(WPARAM wParam,LPARAM lParam) { switch(lParam) { case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭” { /* LPPOINT lpoint=new tagPOINT; ::GetCursorPos(lpoint);//得到鼠标位置 CMenu menu; menu.CreatePopupMenu();//声明一个弹出式菜单 //增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已 //隐藏),将程序结束。 menu.AppendMenu(MF_STRING,WM_DESTROY,"关闭"); //确定弹出式菜单的位置 menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this); //资源回收 HMENU hmenu=menu.Detach(); menu.DestroyMenu(); delete lpoint; */ } break; case WM_LBUTTONDBLCLK://双击左键的处理 { this->ShowWindow(SW_SHOWNORMAL);//简单的显示主窗口 } break; } return 0; }
相关文章推荐
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示 很多程序是只需要后台运行的,甚至不需要自己的应用界面。NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下
- 实现将程序图标显示在系统托盘
- 在vc中将程序图标最小化到托盘中
- 让vc程序不显示任务栏图标
- VC 获取托盘图标信息 . (2012-12-11 20:33:58) 标签: it 分类: 基础知识 //本例以获取程序托盘图标位置为例 //根据需要还可以获取不少信息 参考:http://www.
- java程序系统托盘的托盘图标的显示
- 用VC设计托盘图标程序
- PB做的托盘程序(最小化后在左下角显示图标)
- 用VC设计托盘图标程序
- 开机自启动程序托盘图标显示不全
- 用VC设计托盘图标程序
- 用VC设计托盘图标程序
- 让一个程序托盘显示,并且右键托盘图标可以弹出菜单
- win32 托盘图标的显示以及闪烁功能
- 用VC设计托盘图标程序
- 系统托盘中显示程序图标
- VC程序托盘显示和气泡显示
- 用VC设计托盘图标程序
- 启动程序时,不显示窗体,只显示托盘图标的方法
- java程序如何实现右下角系统托盘图标显示