



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用VB6.0实现将窗体最小化到系统托盘区使用说明:共有两个方法,经个人实际测试(环境:xpsp3 vb6.0)第二个控件法最有效果,第一个方法在启动时确实在右下角,但是弹出后再次最小化就跑到屏幕左下角了,无法最小化,不知道是啥原因,希望大家改进代码。 本人力荐第二种小巧有效简单的方法。方法一(作者:zheng0823)API法 经测试部分有效1、新建立一个VB6工程,将Form1的ShowInTaskBar属性设置为False2、菜单:工程-添加模块 按“打开”这样就添加了一个新模块,名为Module1,保存为Module1.bas3、在Module1中写下如下代码:Option ExplicitPublic Const MAX_TOOLTIP As Integer = 64Public Const NIF_ICON = &H2Public Const NIF_MESSAGE = &H1Public Const NIF_TIP = &H4Public Const NIM_ADD = &H0Public Const NIM_DELETE = &H2Public Const WM_MOUSEMOVE = &H200Public Const WM_LBUTTONDOWN = &H201Public Const WM_LBUTTONUP = &H202Public Const WM_LBUTTONDBLCLK = &H203Public Const WM_RBUTTONDOWN = &H204Public Const WM_RBUTTONUP = &H205Public Const WM_RBUTTONDBLCLK = &H206Public Const SW_RESTORE = 9Public Const SW_HIDE = 0Public nfIconData As NOTIFYICONDATAPublic Type NOTIFYICONDATAcbSize As LonghWnd As LonguID As LonguFlags As LonguCallbackMessage As LonghIcon As LongszTip As String * MAX_TOOLTIPEnd TypePublic Declare Function ShowWindow Lib user32 (ByVal hWnd As Long, ByVal nCmdShow As Long) As LongPublic Declare Function Shell_NotifyIcon Lib shell32.dll Alias Shell_NotifyIconA (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long4、在Form1的Load事件中写下如下代码:Private Sub Form_Load()以下把程序放入System Tray=System Tray BeginWith nfIconData .hWnd = Me.hWnd .uID = Me.Icon .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP .uCallbackMessage = WM_MOUSEMOVE .hIcon = Me.Icon.Handle 定义鼠标移动到托盘上时显示的Tip .szTip = App.Title + (版本 & App.Major & . & App.Minor & . & App.Revision & ) & vbNullChar .cbSize = Len(nfIconData)End WithCall Shell_NotifyIcon(NIM_ADD, nfIconData)=System Tray EndMe.HideEnd Sub5、在Form1的QueryUnload事件中写入如下代码:Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)Call Shell_NotifyIcon(NIM_DELETE, nfIconData)End Sub6、在Form1的MouseMove事件中写下如下代码:Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim lMsg As SinglelMsg = X / Screen.TwipsPerPixelXSelect Case lMsg Case WM_LBUTTONUP MsgBox 请用鼠标右键点击图标!, vbInformation, 实时播音专家 单击左键,显示窗体 ShowWindow Me.hWnd, SW_RESTORE 下面两句的目的是把窗口显示在窗口最顶层 Me.Show Me.SetFocus Case WM_RBUTTONUP PopupMenu MenuTray 如果是在系统Tray图标上点右键,则弹出菜单MenuTray Case WM_MOUSEMOVE Case WM_LBUTTONDOWN Case WM_LBUTTONDBLCLK Case WM_RBUTTONDOWN Case WM_RBUTTONDBLCLK Case ElseEnd SelectEnd Sub7、现在将程序保存起来运行看看系统托盘处是否增加了一个本工程的图标。单击此图标,Form1就自动弹出来了。-华丽丽的分割线-方法二(作者:桃花源居民) 控件法 经测试完全有效 托盘,亦即程序最小化后程序图标隐藏到屏幕右下角的任务栏里。这种最小化方法比普通的最小化节约空间,因此备受欢迎,很多软件都具有这样的功能。在VB中,可用API函数来实现托盘功能,但比较复杂,不太好操作。 相对而言采用一种非常简单易行的方法:控件法,才是最适合最方便的。下面要使用已被微软封装好的控件:csystray1(名称可自定)。 说到控件,大家可能要皱眉头了:去哪找呀?放心!这个控件就躺在你的VB安装盘里(目录为:COMMONTOOLSVBUNSUPPRTSYSTRAY)!不过,得处理一下:请在Tool文件夹里查找一个名叫Systray的目录,将它拷贝到硬盘,用VB打开该目录下的工程,必要的话可作些改进(如更换图标、添加功能等),然后编译成ocx控件,可以随意命名。为方便使用起见,最好编译到WindowsSystem目录下。好了,现在我们就可以在我们的程序中使用此控件来轻松实现托盘功能了。vb中添加控件的方法就不用我说了吧?控件的属性和事件浅析: 该控件的InTray属性是用来设置是否显示在托盘中,True为显示在托盘,False为不显示; 该控件的TrayIcon属性是在托盘中显示的图标式样; 该控件的TrayTip属性是鼠标移动到该控件上面时,显示的提示文字; 该控件的重要事件是几个我们常用的鼠标事件:按下、放开、移动、双击,编程时就是利用这些事件达到在任务栏中控制程序的目的。源代码如下:使程序最小化时显示到系统托盘Private Sub Form_Resize()If Me.WindowState = 1 Then 如程序为最小化则cSysTray1.InTray = True 隐藏到任务栏Me.Visible = False 让程序界面不可见End IfEnd Sub点击托盘图标后,让程序窗体显示出来Priv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股东合同协议书模板样本
- 福鼎充电桩采购合同范本
- 销售激光折弯机合同范本
- 特许加盟合同的管理协议
- 第三方管理装修合同协议
- 煤炭采购居间合同协议书
- 物业被盗赔偿协议书范本
- 网签购房合同中补充协议
- 防雷装置检测委托协议书
- 狗狗协议领养协议书模板
- GB/T 33523.700-2025产品几何技术规范(GPS)表面结构:区域法第700部分:区域形貌测量仪器的校准、调整和验证
- 质检队伍考试题及答案
- 智能心理辅导系统-洞察阐释
- 运沙船运输合同协议
- 文物保护修复验收技术规范
- 重庆发展投资公司及所属企业招聘笔试题库2025
- 2025年中国宠物行业白皮书
- 六西格玛试题及答案
- 2024年下半年青海西宁市事业单位面向社会招聘工作人员笔试及现场笔试历年典型考题及考点剖析附带答案详解
- 2025年宁夏石嘴山市矿业集团有限责任公司招聘笔试参考题库附带答案详解
- 《教育心理学》教材
评论
0/150
提交评论