1 / 7
文档名称:

用vb完成窗口图标最小化到系统托盘.doc

格式:doc   大小:22KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用vb完成窗口图标最小化到系统托盘.doc

上传人:cnanjringh 2020/8/8 文件大小:22 KB

下载得到文件列表

用vb完成窗口图标最小化到系统托盘.doc

相关文档

文档介绍

文档介绍:[最新]用vb完成窗口图标最小化到系统托盘用VB实现窗口图标最小化到系统托盘(API)如何做到当我们单击窗口的最小化按钮时,窗口先最小化到任务栏成为按钮,然后消失,图标显示到通知栏呢,大家熟悉的FoxMail能做到,我们也可以做到。只要我们能截获最小化这个事件发送给窗口的消息,然后换成我们自定义的过程,问题就解决了。大家仔细想一想,当按下最小化按纽时会引发什么事件,,=False使窗口消失,然后将窗口图标显示到通知栏即可达到我们想要的效果。怎样判断发生Resize事件时窗口是最小化状态呢,VB里没有现成的做法,我们可以用非富的API函数。API函数库里有一个函数IsIconic(ByValhwndAsLong),它就是专门判断窗口是否已最小化的。这样当Form产生Resize事件时,用IsIconic函数判断一下窗口是否为最小化状态,就可知道是否用户按了最小化按钮。最关键的一步就是将图标显示在通知栏里,VB里没有现成的做法,我们还得用API函数。API函数库里有一个函数Shell_NotifyIcon(ByValdwMessageAsLong,lpDataAsNOTIFYICONDATA),是专门操作(包括添加、修改、删除)通知栏里图标的。点一下通知栏图标,会出现一些诸如"退出"、"显示窗口"的弹出菜单,怎样实现弹出菜单呢,这个很容易实现,因为点击图标会触发图标所在窗口的MouseDown事件,我们把弹出菜单触发过程写入Form1_MouseDown事件即可。具体例程如下:第一步、为了增强程序的可移植性,我们新建一个模块,取名为:NoticeIcon,在此模块中定义一些常量、自定义类型、所需的API函数说明及操作通知栏图标的三个自定义函数(添加、修改、删除),模块NoticeIcon具体代码如下所示:onstDefaultIconIndex=1'onstWM_LBUTTONDOWN=&H201'onstWM_RBUTTONDOWN=&H204'onstNIM_ADD=0'onstNIM_MODIFY=1'onstNIM_DELETE=2'onstNIF_MESSAGE=1'onstNIF_ICON=2'图标操作(添加、修改、删除)onstNIF_TIP=4'ToolTip(提示)有效'API函数声明'图标操作DeclareFunctionShell_NotifyIconLib""Alias"Shell_NotifyIconA"(ByValdwMessageAsLong,lpDataAsNOTIFYICONDATA)AsLong'判断窗口是否最小化DeclareFunctionIsIconicLib"user32"(ByValhwndAsLong)AsLong''设置窗口位置和状态(position)的功能DeclareFunctionSetWindowPosLib"user32"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLon