Windows操作系统任务栏右下角的通知区域主要用来放置系统的通知图标,并对鼠标输入进行响应。同时,用户程序也可以通过系统外壳函数进行操作,放置自己的图标,并根据鼠标操作进行响应。那么,怎样进行此区域的编程哪?
其实很简单,只需要一个函数:
function Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconDataA): BOOL; stdcall;
此函数在ShellApi单元中申明,你只需要在你的文件中uses ShellApi就可以使用此函数。那么,怎样使用它进行通知区域的编程哪?总结起来如下:
1.
准备lpData
结构,标明要显示的图标(lpData^.hIcon
),
标明要接受消息的窗口(lpData^.hWnd
),
标明消息ID(lpData^.uCallMessage),
标明当鼠标进入时要显示的标题文字(lpData^.szTip[64]
)等。
2.
调用Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconData): BOOL
函数,并把dwMessage
参数设为NIM_ADD
,这样就在通知区域放置了图标。
3.
在接受消息窗口编写消息ID
的处理函数,以响应鼠标消息。
4.
最后再调用Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconData): BOOL
函数,并把dwMessage
参数设为NIM_DELETE
,用来删除图标。
从上面可以看出,通知区域图标的编程主要由Shell_NotifyIcon,我先对此函数的两个参数进行介绍,然后进入实践。
第一个参数
dwMessage: DWORD
: