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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Redis布隆过滤器原理与实践

    Redis布隆过滤器原理与实践背景在高并发请求时,业务数据一般会对数据进行缓存,提高系统并发量,因为磁盘IO和网络IO相对于内存IO的成百上千倍的性能劣势。做个简单计算,如果我们需要某个数据,该数据从数据库磁盘读出来需要0.1s,从交换机传过来需要0.05s,那么每个请求完成最少0.15s(当然,事实上磁盘和网络IO也没有这么慢,这里只是举例),该数据库服务器每秒只能响应67个请求;而如果该数据存在于本机内存里,读出来只需要10us,那么每秒钟能够响应100,000个请求。通过将高频使用的数据存在离cpu更近的位置,以减少数据传

    2022年10月7日
    0
  • 坑爹的MongoDB

    坑爹的MongoDB

    2021年9月7日
    59
  • chrome无法从该网站添加应用、扩展程序和用户脚本_谷歌浏览器该插件不受支持怎么解决

    chrome无法从该网站添加应用、扩展程序和用户脚本_谷歌浏览器该插件不受支持怎么解决今天将谷歌浏览器升级到了最新的版本,在安装拓展应用的时候,却发现无法添加应用、拓展程序和用户脚本,让我很是郁闷,现整理解决方法如下:1.在GoogleChrome浏览器的桌面快捷方式上鼠标右键,选择属性(R),进入如下界面2.在目标(T)后添加参数–enable-easy-off-store-extension-install(注意在添加参数之前,要有个空格),…

    2022年10月8日
    3
  • phpsotrm 2021.4 激活破解方法

    phpsotrm 2021.4 激活破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    133
  • 有源低通滤波器 vs. 有源带通滤波器 vs. LC滤波器「建议收藏」

    有源低通滤波器 vs. 有源带通滤波器 vs. LC滤波器「建议收藏」在做一个小东西,想省成本用F407内部的DAC生成Sin输出(100Hz,1kHz,10kHz,100kHz),但是407DAC能力有限,当要输出100kHz的Sin曲线的时候一个周期只能11个点左右,示波器上能看到明显的阶梯,需要一个滤波器。一直纠结有源低通,有源带通,无源LC滤波。滤波器可以通过TI的滤波器设计软件FilterPro来设计,非常简单,有一点就是运放的增益带宽积,同频率下…

    2022年5月2日
    44
  • qt tabwidget切换_标签怎么在新窗口打开

    qt tabwidget切换_标签怎么在新窗口打开QTabWidget用来分页显示重要函数:1.voidsetTabText(int,QString);//设置页面的名字.2.voidsetTabToolTip(QString);//设置页面的提示信息.3.voidsetTabEnabled(bool);//设置页面是否被激活.4.voidsetTabPosition(QTabPosition::South);//设置页面名字的位置.5.voidsetTabsClosable(bool);//设置页面关闭按钮。6.

    2022年9月13日
    4

发表回复

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

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