说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

把图标放在WIN95的系统托盘中-VB资料

HTML文档下载 WORD文档下载 PDF文档下载
把图标放在WIN95的系统托盘中-VB资料



在系统托盘中的图标又被称作“提示图标”(NotifyIcon)。这个小小的图标不仅可以启动程序,还可用来显示程序运行的状态。

一个 hWnd被用来接收鼠标在提示图标上时所产生的事件所发出的消息。但如果用此方法,可能会触发其它控件的MouseMove 事件。在本例中,使用一个PictureBox来接收来自鼠标的消息。真正的事件被包含在MouseMove事件中的X参数中,然后通过代码来I 提取每一个事件。

同时你还必须指定要显示图标的句柄。使用PictureBox的DragIcon属性可以轻松地实现。

为了产生一个提示图标,你必须首先将图标的有关信息储存在一个自定义类型变量中。然后调用Shell_NotifyA。当创建了一个提示图标 后所有的鼠标事件将触发在PictureBox上的MouseMove事件。请注意在程序结束后删除提示图标。

首先在你的窗体上放置一个PictureBox。本例假设该控件名为Picture1。将其Visible属性设为False。将其DragIcon属性设定为你想要显示的To 图标文件。使用下面的代码在Form_Load事件中创建提示图标。在Form_Unload事件中删除提示图标。

把下面的代码放在一模块的声明段中。

DefInt A-Z

Declare Function Shell_NotifyIconA Lib "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

' commands & flags for NotifyIcons
Global Const NIM_ADD = &H0&
Global Const NIM_MODIFY = &H1
Global Const NIM_DELETE = &H2
Global Const NIF_MESSAGE = &H1
Global Const NIF_ICON = &H2
Global Const NIF_TIP = &H4
Global Const WM_MOUSEMOVE = &H200
Global NI as NOTIFYICONDATA

创建提示图标

将下面的代码放在Form_Load事件中以产生一个提示图标。所有的鼠标事件都将会传递到PictureBox的MouseMove事件中。

' stock NOTIFYICONDATA structure
NI.cbSize = Len(NI) 'length of this structure
NI.hWnd =Picture1.hwnd 'control to receive messages
NI.uID = 0 ' uniqueID
NI.uFlags = NIF_MESSAGE or NIF_ICON or NIF_TIP ' Operation Flags
NI.uCallbackMessage = WM_MOUSEMOVE ' message to send to control
NI.hIcon = Picture1.DragIcon ' handle to Icon
NI.szTip = "My Tool Tip" + Chr$(0) ' Tool Tip

' 必须给提示图标分配一个唯一的ID号
' so increment until creation is successful

Do
NI.uID = NI.uID + 1
result = Shell_NotifyIconA(NIM_ADD, NI)
Loop While result = 0

修改提示图标Modifying NOTIFYICON

下面的例子可以修改图标

NI.hIcon = Picture2.DragIcon
NI.szTip = "Different Tool Tip" + Chr$(0)
' modifies an existing NotifyIcon
result = Shell_NotifyIconA(NIM_MODIFY, NI)

删除提示图标Deleting NOTIFYICON

将下面的代码放在Form_Unload事件中

' 删除已有的提示图标
result = Shell_NotifyIconA(NIM_DELETE, NI)

下面的代码放在 PictureBox的MouseMove事件中

' 从提示图标接收消息
' 消息通过X参数传递

Dim Msg as Long


Msg = (X And &HFF) * &H100
Select Case Msg

Case 0 ' 鼠标移动
' 在此输入你的代码

Case &HF00 ' 鼠标左键被按下
' 在此输入你的代码

Case &H1E00 '
' 在此输入你的代码

Case &H2D00 ' 双击鼠标左键
' 在此输入你的代码

Case &H3C00 ' 鼠标右键被按下
' 在此输入你的代码

Case &H4B00 ' 鼠标右键弹起
' 在此输入你的代码

Case &H5A00 ' 双击鼠标右键
' 在此输入你的代码

End Select

百万用户规模的系统如何扩展 大数据需要软件定义存储 倒计36小时!2014中国Spark技术峰会即将召开! 设计师专宠,Startup强大的UI设计框架 走进金山云:从技术走向服务 Qt Creator 3.1.0发布,全面支持iOS、Android、WP Google大中华区总裁石博盟与中国大学生畅谈科技与创新 阿里云:从防到攻,深入浅出DDoS 大数据处理分析的六大最好工具 微软:Windows Phone开发者可回复用户评价 不断缩水后的微博上市首日大涨19% 曾一度涨超40% Snapdragon LLVM编译器全新升级 支持骁龙64位处理器 EDP:基于Node.JS与NPM的企业级开发平台 想改变世界,先改变自己——知名Hacker、发明家Mitch Altman专访 《近匠》iHealth,健康大数据助力硬件“破壳” 一周消息树:如何做到每天写代码? 一周热点:微软SQL Server 2014三大新特性 《Make》创始人Dale Dougherty:全民创客 DevOps正在扼杀程序员? OpenStack新版本:新增近350个功能,修复Bug超2900个 【走近讲师】易欢欢:数据对接和后台是互联网金融的技术最难点 最火HTML5 JavaScript游戏引擎:国外篇(二) 挑战最强大脑——来自全球的14个编码社区 摩尔定律让位于贝索斯定律 InPaaS:新一代云计算应用平台 【技术博客推荐】樊哲谈机器学习算法与Mahout Scala 2.11.0发布 仅支持Java 8部分功能 诺基亚彻底“卖身” 变“微软移动” 10款高效简化移动开发过程的工具 《近匠》AppCan:打造成云生态的移动PaaS平台 WhatsApp壮举:活跃用户超五亿、日7亿幅照片和1亿个视频 我想转行到计算机软件,您有什么建议呢? 各位高手,看看这个贴!!谢谢 菜鸟问题:请教red hat下用.iso的安装镜像文件升级软件包的问题 这个中秋霉到家了,看看还有没有比我更霉的,同时祝愿自己能快点度过难关好起来!!!!!!!!!! 帮忙看看这个SQL语句什么地方错了? 此上机题的程序代码应该怎么写 想找个unix高手,有没有啊? 那里有java的帮助手册下载?类似于萎软的msdn & 0xFFF0是什么意思 银行存钱手续费问题 计算机网络——熊桂喜 译 INPUT如何用图片作背景? 谁能给我贴一个 Regular 动态 mfc-dll的例子! 函数怎样调用? 在线的各位高手,请问哪里可以下到SYBASE11.9.2安装程序? EJB-QL问题,怎么使用模糊查询LIKE? 请进 为什么我装了声卡驱动程序后,只能听到声音,却说不了话? rh9中用户目录下的.profile为什么不起作用? 我是专学PL/SQL编程的,但是我觉得这个不像是真正意义的编程! 大家进来看看吧! VC6下如何向Oracle中添加和读取BLOB型的数据? 一个关于Delphi6和Delphi7的问题 请问怎么知道C# MSDN 里的每一个类,每一个方法是做什么用的? 问题挺多的?请不吝赐教!都是小问题! 输入光标的移动问题 菜鸟请教:请问如何打包成jar和jad文件? 关于Oracle存储大量二进制数据的问题, 有武汉的朋友么! 加我qq 7095682 看完《美丽人生》 帮帮我 一条菜虫问一个很菜的问题? 当数据库中没有图片时候该怎么办 关于时间掩码? 问题挺多的?请不吝赐教!都是小问题! Turbo c一定要安装在win98下吗 如何修改存储器参数,我的表会越来越大,原来用默认参数 看了下面的帖子后我自己的一点感受 我怎样定位我的涉及DataReader的表格? 如何制做半透明窗体,上面的控件也要能控制是否透明。 我要转行了,也许CODEING只是爱好,要把它做为职业,惨,,, 请问大家能不能推荐一本关于PHOTOSHOP 7.0 DREAMWEAVE MX 的书籍 一个简单的图像序列化存储 EDIT1.TEXT从用户接受的内容如何放进ARR 设计数据库时这样的情况应该如何处理 CFileFind::FindFile()的查找路径是怎么确定的? 很菜的问题 关于red hat9的小问题 不知是程序写多了还是失恋的缘故!我头上有一块地方不长头发了,医生说是斑秃!不知程序员里有斑秃的吗? 一IT美女的悲惨遭遇◎! .net2003的编译器如何为类添加消息映射啊???? JAVA的文本编辑,实现修改和排版 导体上的净电荷和导体中的“自由电荷”有何区别 维语nima.是你说什么的意思吧 那erzimaydu呢 nima.didigiz 是维语么?没有人,知道了么?这是什么 有分克这个单位么?我在字典上看的有1克=10分克啊 到底是怎么回事那克,分克,微克,毫克怎么换算?学医的,在用药上要用到 维吾尔语NIMA QUN BU什么意思 当导体在磁场中做切割磁感线运动时,与导体组成_就会产生电流. 英语翻译着急要这段文字的中文翻译,Distributor acknowledges that there is currently no withholding tax,levy,or other duty which must be paid under the law of any part of the Territory with respect to amounts due or to become due to Lice “做个有心人”用英语怎么说?“有心”可不是善良的意思啊,是注意观察、随时学习,认真的意思。 三个点最多有一个三角形,四个点最多有几个三角形,n个点最多有几个三角形最好说明推论的过程, 导体中有大量的自由电荷,只要导体构成回路导体中就有电荷通过.是否正确? 直角三角形ABC的三边为斜边分别向外作等腰三角形,若斜边AB等于三,则象外作的三角形面积是什么? 美建议叙问题会议11月举行 不确信反印度民众燃放爆竹庆祝排灯节 引发环境孙杨可自选拘留时间 新女友浮出水面亦德国拒绝为斯诺登提供庇护 避免影响德刚果(金)政府宣布该国打击反政府武装俄注重文化保护 文化事业拨款70%用穆尔西审判延后 分析指与穆沙拉夫审判科索沃举行地方政府选举 投票点遭蒙面印尼巴厘岛男子咖啡地中发现2000多美参众两院大佬不宽恕斯诺登 将派“安三中全会前夕高层密集调研民生 为改革淄博一名男子因信用卡诈骗被判刑第三届艺术苏州暨艺术互动APP全球公到底是人工智能打败了人类还是人类打败冰岛球员:中国足球发展得很快 他们磨25岁退役做教练,退役两年成国门,他送餐员“诈称”向用户餐品投放粪便 2016年广西“110”接警632万广西政协十一届五次会议将于1月12日韩国宪法法院要求朴槿惠补充“岁月”号阿富汗议会大楼遭炸弹袭击 至少21人2016年云南公安“110”接警62盘龙尊者清韵遗失的神史黑体字游戏作家殇情之秋谪仙本纪万兽之王——京巴重生洪荒之我是佛祖后宫佳丽洪荒之血皇晋祠旅游汾河公园旅游五一广场旅游纯阳宫旅游玉渊潭旅游中华世纪坛旅游白汉洛教堂旅游怒江溜索旅游石门关旅游普化寺旅游桃花岛旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘