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

把图标放在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

超图研究院院长李绍俊:创新2.0时代的平台软件研发体系 优麒麟(Ubuntu Kylin)15.04发布派对在天津成功举行 【CTO讲堂】以API为核心的移动应用云大发展时代 游戏设计的迭代误用:从半成品到概念修正 成功的社区在于拥抱变化——知乎创始人周源专访 优化UITableViewCell高度计算的那些事 国外iOS大牛:开发Apple Watch应用我犯过的错 云上Java System Profiling与Debugging——蚂蚁金服观察与实践 搜狗商业平台Java技术实践 Java在电信软件领域的技术实战 关于Java框架Vert.x的几点思考 Java在游戏服务器开发中的应用 Java框架研发思考 那些年,Java程序员用过的开发工具 Java内存模型的历史变迁 Java 8与Apache Ignite Java开发与技术挑战——关于技术的技术思考 专访唯品会架构师肖桦:做编码的架构师 越来越“简单”的Java 我的Java!越过山丘 专访沙梓社:做个“Think Different”的技术牛人 基于ES6,使用React、Webpack、Babel构建模块化JavaScript应用 财税街创始人石克清:创业须空杯心态+有效社交 自我知识管理:连贯性就是生产率 玩转Google I/O 2015:Android M、IoT、Glass 2.0、VR、ATAP ARC中Retain Cycle揭秘 失控与逆转!企业移动化2.0时代下如何求变? 玩转物联网之MQTT 专访都灵创客教育奚炎:被忽视的Maker教育 13岁iOS开发者:Swift开发Sprite Kit游戏实践 专访豌豆荚「自动装」开发团队:无需Root即可批量点击「下一步」 哪位大侠能提供关于"资源文件(*.rc)"在BCB5中使用的系统、详细的资料? 菜鸟问题:我想用一个win32 api函数但是不懂得如何使用。 listview与数据库的一系列联系,重点!!! 请教!!!帮帮小弟!!! 两周了--还是不行 怎样取得本机的名称? 我想听网络广播, 怎样做呢? 一个小问题 ????? 回答“一个动态创建孔件时的错误,请大家指点”贴后请到这里面领分(共700分)(七) 计算机知识大赛 我的问题很简单,可是我不会! 回答“一个动态创建孔件时的错误,请大家指点”贴后请到这里面领分(共700分)(八) 这样的游戏一个值多少钱?请报价。 高手快进!小弟有一事不明!!告急! 取ADO的recordset对象的recordcount属性总是 -1,如何解决? 这样的网络游戏一个值多少钱?请报价。 软件发布:《加密樵夫》 软件发布:《加密樵夫》 谁有Dreamweaver4.0的注册码,我晕,555555555…~~~~~~~~~ 我曾在本论坛看到一篇“用纯ASP代码实现图片上传并存入数据库中”的文章,可是怎样实现一个页面上传多幅图片呢,高手能否帮忙看一下? 如何检测一个超链接是不是死链接 软件发布:加密专家系统 只要点一下,妹妹我就以身相许 谁有Dreamweaver4.0的注册码,我晕,555555555…~~~~~~~~~11 请问只要是线程就有消息队列,还是此线程产生window后才有消息队列?在控制台程序中,在消息循环中,当受到一wm_timer消息时,此消息将发送给那一window procedure? 软件发布:三维几何画板 CSDN有徐州的朋友吗 请教高手一个关于图像格式的问题 高手清帮忙:如何获得一个控件的电子签名认证?急,急,急! 觅有时间有经验用MAPINFO开发GIS的高手? IE 能不能同时浏览2种以上不同设置的网页? 初级asp问题 询问-----上海在哪里有软件考试报名? 怎样用SDK的方法改变文本框的前景色和背景色?(内空) 能推荐几个有关COM、ActiveX技术的网站吗?每个10分不够再加。 请问ljhua,ASP网页怎样调用*.bat文件,是服务器上的还是客户机上的bat? ****************** 先散掉点分,省得走的时候累赘 ****************** UNICODE和WinMain 一个空战游戏,附源程序! 创建WebSnap应用程序(一) 请教一个http错误号 vs.net安装(2) 请教高手,怎样使用信使服务向局域网内的其他用户发通知? 使用过DeviceIoControl的高手请进: 不知用过jbuilder5的朋友有何感想 如何用程序中断拔号连接? DLL调用 搞什么鬼?不给超过三次? ADOTable如何查询数据? 软件发布:小精灵 vcguy,come on! 求19题. 【1】王熙凤携着黛玉的手.王熙凤上下细细的大量她一回.[把这两句话合成一句话] 1×25÷5等于多少 求第19题 全班36人去仙景公园游玩.公园门口的购票处须知写道:每人凭门票进门,儿童票每张8元,40张开始可享受5分之1的优惠.算一算,怎样购买门票最合算?可以付多少钱? 51加1等于多少? 第11题咋么做 除19题的数学填空 25×3又 3/4—0.51×1/4+2.5×(-17.5)—5.1×0.075等于多少?急死我了 第11题咋做, 第十九题怎么写 -[(-0.5)+(-51/2)]-16等于多少请写出两个不为零的数,使它们的和是负数,在试着多写几组,你发现和为负数的两个数有什么特征 第4题对吗第11题怎个么做 十九题咋写 1 +2*3*4*5*6*7*8*9*10*11*12*13*14*15*46*78*95*82*51**258*369*741*500*1000等于几?知道是多少么 太多 计算器按不出来 第11题咋做? 19. 1/1×3+1/3×5+1/5×7+.+1/49×51=多少? 第11题怎做? 求19题, 7+2(x+7)=3\17等于? 这么做这道题 求19题的过程 7+2x=二分之十七,x等于多少? 这道题这么做 19题过程谢谢 83减去x的2倍等于17,求x 这道题这么做帮忙下,谢谢 第十九题, x平方加y的平方减六x加八y加25等于零求x的y次方? 这道题这么做, 第19题答案,要过程 已知二x加y等于七x加二y等于八x减y等于几 这些题目这么做 第十九题怎么做,要有过程. 75等于9出以几等于几比40等于18比几 请问这个题目要这么做?谢谢 第19题, 数学题解答:笑脸+月亮等于26,月亮-笑脸等于18,笑脸是多少,月亮是多少?请快点,我很急,谢谢! 这道题目为什么要这么做预计2015年该市100周岁以上的老人将比2008年2月的统计数增加100人,请你估算2015年地区一增加100周岁以上的男性老人多少人?(3)[21÷(21+30+38+42+20+39+50+73+70+37)]×100=5, 19.20题怎么写?跪谢 已知2a减3b等于3,则2减2a加3b等于多少 这么做这题 19,20题. 一个多项式减去负2a减1等于6乘a的平方加3乘a减9,则这个多项式是?我现在急需,回答号的追加!我现在急需,回答好的追加!! 这道题这么做 19、20题怎么写? 十分之九减一百分之九十六等于几 这几题这么做 19,20题 要求: 回答下列问题 1.由等式3a加五等于3b减5,能不能得到a等于b?为什么? 这么做啊 19, 已知a+b=5,ab=3,那a和b分别等于多少?3a-5ab+3b-4的值是多少? 19 题... 请问这么做这道题 第十九题, 第19题. ABCDEFx 4_______EFABCD 过程,19题
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn