zoukankan      html  css  js  c++  java
  • NOTIFYICONDATA结构

    //农机调度项目代码

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

     

     

  • 相关阅读:
    java中 Hex(十六进制)和byte[]相互转换
    byte[]和File相互转换
    Stringboot MultiPartFile 转 File
    mysql8.0+运行报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. 解决办法
    idea激活
    mysql8安装成功过后navicat连接失败
    AJAX的使用
    单文件上传和多文件上传实例
    监听器的使用
    SQL分页技术
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3816562.html
Copyright © 2011-2022 走看看