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);

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 详述 IntelliJ IDEA 插件的安装及使用方法「建议收藏」

    详述 IntelliJ IDEA 插件的安装及使用方法「建议收藏」温馨提示:IntelliJIDEA支持非常多的插件,熟练的使用插件,能够有效提高我们的开发效率以及用户体验。正文首先,进入插件安装界面:Mac:IntelliJIDEA->Preferences->Plugins;Windows:File->Settings->Plugins.标注1:显示IntelliJIDEA的插件分类,Allplugins:显示In

  • platform_driver_register调用probe

    platform_driver_register调用probekernel_init中do_basic_setup()->driver_init()->platform_bus_init()->…初始化platformbus(虚拟总线)设备向内核注册的时候platform_device_register()->platform_device_add()->…内核把设备挂在虚拟的platformbus下驱动注册的时候platform_dri

  • Linux find的用法_find的用法归纳

    Linux find的用法_find的用法归纳在此处只给出find的基本用法示例,都是平时我个人非常常用的搜索功能。如果有不理解的部分,则看后面的"find运行机制详解"对于理论的说明,也建议在看完这些基本示例后阅读一遍理

  • 最小二乘法 原理_高斯最小二乘法原理

    最小二乘法 原理_高斯最小二乘法原理概念:最小二乘法是一种熟悉而优化的方法。主要是通过最小化误差的平方以及最合适数据的匹配函数。作用:(1)利用最小二乘法可以得到位置数据(这些数据与实际数据之间误差平方和最小)(2)也可以用来曲线拟合实例讲解:有一组数据(1,6),(3,5),(5,7),(6,12),要找出一条与这几个点最为匹配的直线:y=A+Bx有如下方程:6=A+B5=A+3B…

    2022年10月24日
  • frp内网映射_路由直接frp服务端

    frp内网映射_路由直接frp服务端第一步:云服务器上域名解析添加(前提是有域名已经备案)这里有对应操作截图文件第二步:下载服务器管理软件FinalShellSSH工具:http://www.hostbuf.com/c/131.html必备条件:java配置好,它依赖于java环境第三步:下载frp内网穿透软件(服务器和客户端的均要下载哦)简单配置介绍:https://www.xyzbeta.com/460………

发表回复

您的电子邮箱地址不会被公开。

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