关于任务栏图标的问题

dawei_sun 2008-07-25 01:17:40
要使用任务栏图标首先要定义一个NOTIFYICONDATA结构.然后使用Shell_NotifyIcon()将这个结构加载进任务栏.
其有一个我不是很明白.下面是NOTIFYICONDATA的定义:
typedef struct _NOTIFYICONDATA {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
TCHAR szTip[64];
DWORD dwState;
DWORD dwStateMask;
TCHAR szInfo[256];
union {
UINT uTimeout;
UINT uVersion;
};
TCHAR szInfoTitle[64];
DWORD dwInfoFlags;
GUID guidItem;
} NOTIFYICONDATA, *PNOTIFYICONDATA;
对于其中的UINT uCallbackMessage,我在网上看到是传入一个用户自定义的消息#define MYWM_XXXX WM_USER+1之类的.再定义一个消息处理函数(如 LRESULT MsgProc(...)).然后用ON_MESSAGE(MYWM_XXXX,MsgProc)宏将消息和消息处理函数关联. 但是我对这一切很糊涂.任务栏当得知有相应的动作之后,它会传递事先用户自定义消息给NOTIFYICONDATA里面传递的主窗口句柄hWnd. 那一些具体的消息怎么传递呢.如WM_RBUTTONDOWN.... ????
...全文
136 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawei_sun 2008-07-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
#define MYWM_XXXX WM_USER+1
这说明是那个小图标那里有消息了

LRESULT MsgProc(...)
内再继续处理其它消息,比如左右键等...
[/Quote]
ON_MESSAGE 只是把MYWM_XXXX和消息处理函数关联了起来.那为什么他可以处理其他的如MOUSE和KEYBOARD事件呢?
baihacker 2008-07-25
  • 打赏
  • 举报
回复
#define MYWM_XXXX WM_USER+1
这说明是那个小图标那里有消息了

LRESULT MsgProc(...)
内再继续处理其它消息,比如左右键等...

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧