NOTIFYICONDATA结构

NOTIFYICONDATA结构//农机调度项目代码NOTIFYICONDATAm_notifyData;m_notifyIcon.ChangeIcon(IDI_PAUSE,_T("监控终端server已暂停&quot

大家好,又见面了,我是你们的朋友全栈君。

//农机调度项目代码

NOTIFYICONDATA m_notifyData;

m_notifyIcon.ChangeIcon(IDI_PAUSE, _T(“监控终端server已暂停”));

void CMyNotifyIcon::AddIcon(UINT idResourceIcon, LPCTSTR tip)
{
 HICON hIcon = AfxGetApp()->LoadIcon(idResourceIcon);
 ASSERT(hIcon != NULL);

 m_notifyData.hIcon = hIcon;
 wsprintf(m_notifyData.szTip, _T(“%s”), tip);

 m_notifyData.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;

 Shell_NotifyIcon(NIM_ADD, &m_notifyData);
}

 

—- NOTIFYICONDATA结构包括了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息、图标相应的窗体等内容。其定义为:



 

    typedef struct _NOTIFYICONDATA {

        DWORD cbSize;        

              //以字节为单位的这个结构的大小

        HWND hWnd;                

              //接收托盘图标通知消息的窗体句柄

        UINT uID;     //应用程序定义的该图标的ID

        UINT uFlags;         

              //设置该图标的属性

        UINT uCallbackMessage;  

              //应用程序定义的消息ID号,此消息传递给hWnd

        HICON hIcon;           

              //图标的句柄

      char szTip[64];         

         //鼠标停留在图标上显示的提示信息

    } NOTIFYICONDATA, *PNOTIFYICONDATA;

该结构中,成员uFlags能够使下列之中的一个或组合:

    NIF_ICON        设置成员hIcon有效

    NIF_MESSAGE    设置成员uCallbackMessage有效

    NIF_TIP           设置成员szTip有效



 

—- 二、Shell_NotifyIcon函数

—- 全局函数Shell_NotifyIcon() 用于在托盘上添加、删除或改动图标。其原型为:



 

           WINSHELLAPI  BOOL  WINAPI

                 Shell_NotifyIcon( DWORD dwMessage,

                      PNOTIFYICONDATA pnid);



 

—- Pnid是上面的NOTIFYICONDATA结构的指针; dwMessage是被传递的消息,能够是下面消息之中的一个:

              NIM_ADD             添加图标

              NIM_DELETE          删除图标

              NIM_MODIFY          改动图标

 

 

—- 为使应用程序退出时图标消失,映射WM_DESTROY消息,在OnDestroy()函数中增加:

       ::Shell_NotifyIcon(NIM_DELETE,&m_tnid);

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155045.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 局域网广域网区别_局域网和广域网的简称

    局域网广域网区别_局域网和广域网的简称一、局域网 局域网(LocalAreaNetwork),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等,一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算

    2022年9月25日
    0
  • WP7WrapPanel

    WP7WrapPanelWrapPanel:这个面板控件主要是通过Orientation属性设置包含在控件是的元素从左至右或从上至下依次安排位置,当元素超过该控件边缘时,它们将会被自动转至下一行或列。此控件一般用于文本布局、拾色器、图片等。需要加载System.Windows.Controls.Toolkit.dll WrapPanel:这个面板控件主要是通过Orientation属性设置包含在控件是的元素从

    2022年7月23日
    8
  • 2021navicat激活码【2021免费激活】

    (2021navicat激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    46
  • windows安装hadoop教程[通俗易懂]

    windows安装hadoop教程[通俗易懂]第一步:安装java菜鸟教程连接:https://www.oracle.com/java/technologies/javase-downloads.html第二步:安装hive1、下载hadoop:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/2、winutils下载:https://github.com/steveloughran/winutils3、hadoop和winutils解压之后将w

    2022年6月3日
    31
  • QTreeWidget讲解及节点操作

    QTreeWidget讲解及节点操作关于Qt的节点操作,也就是QTreeWidget类的操作。先看我的效果图!   具体实现如下!构造函数中写事件!connect(ui->treeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),      this,SLOT(showSelecteddataba

    2022年10月1日
    0
  • linux nginx启动停止命令_重启后没有nginx

    linux nginx启动停止命令_重启后没有nginx目录一、启动/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx.conf二、停止1、从容停止(1)查看进程号:ps-ef|grepnginx(2)杀死进程:kill-quitxxxx2、快速停止(1)查看进程号:ps-ef|grepnginx(2)杀死进程:kill-termxxxx/kill-intxxxx3、强制停止:pkill-9nginx三、重启1…

    2022年10月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号