API函数详解:金山词霸启示录——通知栏图标函数

    通知栏图标,可以用一个免费的小控件:SysTray实现。也可以用一个子类处理控件来实现。后一种方法比较自由,所以我采用了后一种方法。除了一个子类处理控件,还需要一个api函数:Shell_NotifyIcon,以及一个结构:NOTIFYICONDATA。关于它们的说明本站都有,这里就不用费舌了。     添加、修改、移除通知栏图标都比较简单,关键是如何让它响应鼠标事件。在NOTIFYICONDATA结构中,uCallbackMessage字段定义了通知栏图标响应的事件,hwnd字段则定义了响应事件的对象。     在程序里,利用一个图片框来响应通知栏图标的鼠标事件。只需简单的定义NOTIFYICONDATA.hwnd = Picture1.hwnd,那么一旦uCallbackMessage定义的消息在Picture1上发生,就可以看作通知栏图标事件发生了。     所以将子类处理控件绑定到图片框,其拦截的消息为uCallbackMessage定义的消息编号,这里令NOTIFYICONDATA.uCallbackMessage = WM_TrayIcon,而WM_TrayIcon = &H2000(自定义消息)     一旦这个消息被拦截,就可以根据不同的lp参数判断发生的是那一个鼠标动作,事实上我们只需要对鼠标的左右按钮单击事件作出响应(这两个消息分别为WM_LBUTTONUP、WM_RBUTTONUP)     然后再做一个菜单,当WM_RBUTTONUP发生时,就弹出来。     最后请注意,卸载程序时记得移除通知栏图标

上页:API函数详解:XFORM函数 下页:API函数详解:AbortPath函数

Windows API函数大全

Windows API函数首页Windows API函数按字母排列
控件与消息函数硬件与系统函数
设备场景函数绘图函数
位图、图标和光栅运算函数菜单函数
文本和字体函数打印函数
文件处理函数进程和线程函数
Windows消息函数网络函数
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号