VC 程序显示托盘图标功能

来源:互联网 发布:linux netstat -ano 编辑:程序博客网 时间:2024/05/16 09:15

1.在资源中添加图标项,通过导入源图像或重新绘制。新建图标文件时需先创建一个,然后再导入图片。改变系统默认的需导入图片,然后复制粘贴,去掉图片透明属性。

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+103afx_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;  }


0 0
原创粉丝点击