VC++任务栏托盘图标及右键菜单实现

  Windows 95以及后来的Windows版本允许你将程序图标放入系统托盘。所谓系统托盘,通常指的是屏幕右下方显示时间,音量等图标的那个区域。托盘图标通常可以执行一些快捷操作,如窗口隐藏时通常最小化到托盘区域,用户可以单击鼠标左键显示程序窗口界面,右键单击托盘图标通常会弹出快捷菜单进行一些快捷操作。
      在MFC中访问托盘图标是通过Shell_NotifyIcon函数和NOTIFYICONDATA结构实现。以下简单说明其实现步骤:
( 1 ) 添加托盘图标右键菜单资源(可以动态创建亦可利用VC自带的菜单编辑器),指定ID为 IDR_TUOPAN_MENU
( 2 ) 初始化托盘图标:
    NOTIFYICONDATA tnd;   //NOTIFYICONDATA 结构声明
    tnd.cbSize=sizeof(NOTIFYICONDATA);    //结构体的大小,以字节为单位。
    tnd.hWnd=this->m_hWnd;    //窗口句柄,标示的窗口用来接收与托盘图标相关的消息。
    tnd.uID=IDR_MAINFRAME;  //应用程序定义的任务栏图标的标识符。Shell_NotifyIcon函数调用时,hWnd和uID成员用来标示具体要操作的图标
    tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;   //指示具体哪些其他成员为合法数据
    tnd.uCallbackMessage=WM_LIBEN;     //应用程序定义的消息标示,当托盘图标区域发生鼠标事件或者使用键盘选择或激活图标时,系统将使用此标示向由hWnd成员标示的窗口发送消息。
    tnd.h
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值