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

用VB制作常居上层的浮动工具箱

HTML文档下载 WORD文档下载 PDF文档下载
用VB制作常居上层的浮动工具箱

通过形象化的图标,浮动工具箱可以省去用户点击主菜单的麻烦。当鼠标位于其图
标上时,在鼠标下方会自动“掉出”一个小标签,说明它的功能。而且常居上层,
不会被打开的文件所覆盖。并且可以改变形状及位置,尽可能地减少所占用的桌面
面积。 能不能在我们自己的应用程序中使用这种先进手段呢?
这里介绍一种用VB来实现的简单方法。主要编程思路是:引用 Windows APL函数,
实现表单常居上层;建立控件数组,通过控件的 MouseMove事件,引发注释的弹出
和消失。
一、浮动工具箱的可视化实现方法
1.在Form1 上放置控件SSRIBBON按钮(因为它本身有三种状态:按下、弹 起、禁止
使用,大部分图标按钮都是这类按钮)。再放置文本框 Text1(也可以用 Label控件,
但效果会有所不同,稍后会讲到),再放置一个命令按钮Command1。各控件属性见
表1(表中只列出一个例子,其它的只要修改相应的属性即可)。
2.单击GP3D1,按 ALT+Del剪切,然后按 ALT+Insert 复制若干,形成 控件数
组GP3D1(0)、GP3D1(2)、GP3D1(3)……,再如法建立Text1(0)、T ext1(1)、Text1
(3)……。
3.调整按钮及文本框位置如图所示,右表为Tools窗体的特性表。 在此期间,每
一项工作都是必要的,如文本框的Visible值为 False,以 确保程序启动时不显示
文本框,而Enable值为False是为了在运行过程中 ,文本框不能输入文本。如果使
用标签(Label)代替文本框,则不能纵向 排列图标按钮,只能横向。因为下面的按
钮会盖住Label,但使用Label要比文本框省内存。 为了实现常居上层的效果,必
须调用Windows API 函数,事实上VB的很多方法都引用于Windows API 。这里我们
用SetWindowsPos过程,此过程在User.exe中定义,它是Windows系统重要的动态链
接库。在VB中引用 API函数时,必须在通用声明部分声明注册。声明API函数往往
比较麻烦且易出错,比如: Declare Sub SetWindowPos Lib ″User″ (ByVal
hwnd As Integer, B yVal hWndInsertAfter As Integer,ByVal X As Integer,
ByVal Y As Integer,ByVal cx As Integer, ByVal cy As Integer, ByVal
wFlags As Integer) 如果所有的API函数声明都这么输入,效率太低。好在各版本
的VB都提供了一个Windows API Help程序,打开它,搜索 SetWindowPos ,找到以
后点击超文本带出解释, 拷贝即可。
二、创建代码 在通用声明部分输入下列代码并声明一些常量及全程变量:
Declare Sub setwindowpos Lib ″User″ (ByVal hwnd As Integer, B yVal
hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer,
ByVal cx As Integer, ByVal cy As Integer, ByVal wFlag s As Integer)
Const SWP_NOSIZE = 1 Const SWP_nomove = 2 Const flags = SWP_NOSIZE Or
SWP_nomove Const hwnd_topmost = -1 Const hwnd_notopmost = -2 Dim i As
Integer Dim B As Integer 为GP3D1按钮的MouseMove 事件添加如下代码,这里仅
实现鼠标在其上时注释器弹出、不在其上时隐去的功能,读者可再加一个计时器控
件和一些代码,即可很容易地实现鼠标位于其上片刻后注释器弹出的效果,这样就
不会出现鼠标“路过”按钮时,注释器即出现的结果了。
Sub GP3D1_MouseMove (index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single) i = index ′记录下当前鼠标位于哪个按
钮上
text1(i).Visible = True ″使其弹出 If B <> i Then ′使其它按钮隐去
text1(B).Visible = False End If B = i ′请好好体会这个变量B的作用
End Sub
为Command1按钮的Click事件添加如下代码:
Sub Command1_Click ()
do While DoEvents() ′用DoEvents()实现空闲循环下的多任务监 测
setwindowpos hwnd, hwnd_topmost, 0, 0, 0, 0, flags ′实现常 居上层
loop
End Sub
为Command1按钮的MouseMove事件添加如下代码:
Sub Command1_MouseMove (Button As Integer, Shift As Integer, X As
Single, Y As Single)
text1(i).Visible = False ′鼠标离开按钮区,位于命令按钮上 时隐去注释器
End Sub
为Form1的MouseMove事件添加如下代码:
Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y
As Single)
text1(i).Visible = False ′鼠标离开按钮区,进入表单时 隐去注释器
End Sub

AppGlu应用辅助工具:帮助开发者处理善后工作 iOS!你这几个方面该向Android好好学习 小于1%,中国有真正自主的移动操作系统吗? 张小龙专访系列(下):不一样的产品思维 Gartner:截止到2016年公有云市场复合增长为17.7% Appcore:在企业内部部署IaaS平台 B轮融资600万美元 超现实主义!用脑电波控制你的计算机设备 搜狐否认“情理之中”的退市 上市仍是最优选择 六大BaaS产品推荐:移动开发必备的后端云服务 未遵守承诺 微软遭遇欧盟7.31亿美元巨额罚单 PaaS正能量:6人团队,仅1人全职后端 支撑6000万用户 三星:我不抽成,收益100%让开发者拿去! 腾讯开放平台推“送红利计划” 承诺半年内不参与分成 JavaEE快速开发框架Wabacus 4.0发布,开发效率提高五倍以上 市盈率创新高 谷歌为什么会在苹果博弈中暂时胜出 从Rovio遇到危机,看现在应用市场的演变 Windows Azure支持Android应用 面向东亚推广云服务 抛弃DRAM、拥抱闪存,Facebook重做Memcached 夏普三星联姻 电子行业或将多元化发展 从下拉菜单设计细节看Amazon对用户体验的把握 Chartboost美女CEO:40人团队服务3亿移动玩家 Distimo:新晋开发者想让产品得到关注越来越难 OpenFeint绝迹后,开源项目OpenKit继续前进 美FDA通过搜索引擎和社交平台预警药品副作用 挖坟三星“眼球追踪技术”背后的技术团队 为什么开发者热衷在Stack Overflow上查阅API文档? Facebook推新News Feed 欲造就“个性化报纸” 女神程序员的一天:暴力测试social爬虫代码 2013IBM云存储路线图:更快,更简单,更安全 二战大数据故事:数学家、物理学家、概率论击败德国潜艇 软件定义网络服务商Pertino B轮融资2000万 菜鸟求助:关于句柄的问题。请高手多多指教 请问什么是存储过程(在SQL 2000SERVER中)? 1000分的大问题!***************怎么突破内存禁区读写的权限 java学什么?怎么学? java学什么?怎么学? 高分急救:Oracle安装完成后,服务可以启动,数据库不与服务一起启动,要手动启动 如何让启动时不自动进入x windows? 下载问题 如何得到CPU的序列号(编程) 向ActiveX控件是否可以传递数组参数 can i read or copy files in windows OS to linux? 什么错误? 将SYBASE数据库移植到SQL SERVER 过程中遇到的问题。急!help session问题 为什么我的web不能进断点? SO_REUSEADDR的疑问 关于web数据库的问题 怎么解??? 再送100分,求jtable例子! 怎样清除在image上画出的线,矩形(在运行时画上去的)?? 寻找在杭州文三路创业大厦11楼上班的朋友 where can i download simsun, and how can i use it? IIS与Apache一起工作,访问Apache时有什么办法不用指定端口? 是不是微软的一个低级漏洞? 谢谢zheng017给你的win2k superuser password的源程序。 在access2000的开发中,text框中如果只输入了空格,用text1.value取数据返回值却是null,如何能够返回空格呢? 强烈推荐:Robocode! 为了全体中国人!请回答我的问题!现在该如何访问google??????????????? =======请大家帮我介绍几个比较好的,LOTUS做的WEB网站。====== 为什么我在 M$ Win2000 使用钩子拦截键盘鼠标消息就那么困难 请问在datagrid里面如何增加记录??? 打算成立程序员单身者协会,欢迎大家发表意见,欢迎加入, snowy_howe请进来接分 邦定问题 高手指点 请问大家如何实现VB导入导出TXT文件(TAB分隔的数据)到数据库中?请具体一点,最好有例子 如何让一个模块在运行过程中中止运行. 请教如何控制目录返回?急!谢谢! 修改const常量问题 高手请进,关于asp远程读取信息的问题!急 关于VB 中的字符串截取 询问:国内有没有好的搜索网站????............... google不能用了,想用“3个代表”来搜索了 对在csdn灌水乐园混的程序员和非程序员突然有了种敬畏的感觉 如何远程获得对方机器的操作系统的类型? 请问Oracle和DB2 都是用什么写的? 有谁知道pbm_keydown事件返回值的含义? 大侠救命,SQL SERVER 访问问题,给高分 讨厌SOHU的请进来! "Mascot"该如何成为公司的中文名字? 我想学习ARM,现有SAMSUNG的ARM7芯片和CYGWIN(WINDOW下的UNIX),不知还需要些什么?可否给些相关的指点,谢谢! 用西班牙语介绍一下智利!特别是旅游的地方 小船渡河,河宽d=180m,水流速度v1=2.5m/s,(1) 若船在静水中的速度为v2=5m/s,求①欲使船在最短的时间内渡河,船头应朝什么方向,用多长时间,位移是多少.②,若航程最短,船头朝什么方向?用多少时 在矿山露天爆破中,什么是炸药单耗?说一下定义,有计算公式最好~ 用英语介绍一下智利的情况原文是这样的:Do you know anything about Chile?我是初三的,不要太复杂的单词与语法.围绕地理、人文、盛产等大方面说就好了.不能超过初中生的水平阿 电打火机里的产生高压电火花的原理是什么? 有机硅对油漆的破坏作用,有人知道么,会发生什么化学反应啊?有机硅或者含硅的胶对喷涂后的漆面有什么影响或者对漆料有什么影响? 焊接电源是如何分类的?共分几类?焊接电源是不是只是指弧焊电源还是弧焊电源只是焊接电源的一种? 打火机里的火花发生器的原理是什么?如题 煤矿爆破有经验的朋友告诉一下,因为现在井下遇到岩石,需要爆破,但是放了3炮一点效果都没有,我下井看了下感觉眼位不对,角度也不对,但不知道怎么去计算,就当一扇门,上面是拱形的半个圆, 电源电池掉了,正负级的代码符号各是什么?在哪焊接? 神东岩石的抗压强度求份神东矿区的岩石物理力学性质的参数,2-2煤顶板的 求有机物的同分异构体要不要考虑顺反异构,(如果题目没说),有些资料书上都没考虑顺反异构,它们不是同一物质啊?为什么不考虑? 飞镖盘最大多少寸的 盒子里有大小相同的20个红黄两种球,想要摸到红球的可能性是五分之二,盒子里应放 为什麼说:“多水的江南是易碎的玻璃,在哪儿,打不得这样的腰鼓?” 地理等高线专项训练,最好是有答案的, 一根圆柱管道,知道长度L直径D入口水压P1 出口水压P2 能算出水流速度V么? 作者为什么说多水的江南是易碎的玻璃,在那儿,打不起腰鼓 地理等高线是啥意思等高线是啥子东东,讲讲哈 哪些是一类电源 多水的江南是易碎的玻璃,在那儿,打不得这样的腰鼓.这句话运用了那些修辞手法? 地理中的等高线什么高于高的、低于低的,怎么判断? 长城电源有哪些系列 数控铣床G02G03中R代表什么意思,还有和I.J.K的区别. 怎样培养初中生的地理学习兴趣和有关经纬网,等高线,地球运动的相关问题呢? 电源的种类及其特点有哪些? 数控加工中心铣整圆弧时I和J怎么使用 如图,有四个正方体,每个正方体的六个面上的A、B、C、D、E、F六个字母徘列顺序相同F对面的字母是() 1.用长为2根号2的细直杆连接两个小球A、B,质量分别为m和2m,置于一个光滑、半径R的半球面碗内.问:达到平衡时,半球面的球心与B球的边线和竖直方向间夹角的正切为?2.竖直平面内有一圆形力 数控铣圆弧的I J K 怎么计算 如图,有四个正方体,每个正方体的六个面上的A、B、C、D、E、F六个字母徘列顺序相同第一个B对面的字母是(B的对面 A的对面 E的对面 安塞腰鼓为什么多水的江南,打不得这样的腰鼓? a+b+c+d=20 abcd都为正整数,问总共的不同的排列有多少? 中国铜排铜材中铜矿物的特点及分布特征? 安塞腰鼓文中写鼓前静鼓后静安塞腰鼓的打鼓前的静和打鼓后的静各有什么作用 四川地震后重建大概需要多少时间 飞镖的训练靶和比赛靶有什么区别 把一个正方体的六个面分别标上字母A、B、C、D、E、F并展开如图所示,已知:A=x2-4xy+3y2,C=3x2-2xy-y2,B=12(C-A),E=B-2C,若正方体相对的两个面上的多项式的和都相等,求D、F.快呀, 那样壮阔、火热、豪放的安塞腰鼓是黄土高原孕育了这样的力量,可文中为何提到多水的江南,与安塞腰鼓有什 飞镖靶上有1-20个区域,打在靶上的任意一镖,落在5的倍数区域上的可能性是( ) 铜矿在中国分布主要在哪几个城市 在哪个省 总结一下简洁一点 比较直齿轮和斜齿轮在几何尺寸计算上有何不同 推荐几本讲高中自然地理的书,比如等高线,昼长夜长之类的书, 江西铜矿的具体分布、、、 安塞腰鼓是否属于延安武鼓下面是节选自《延安武鼓》中的一段文字,请结合文字内容推断,“安塞腰鼓”是否属于“延安武鼓” 一方水土养一方人.延安武鼓以它的“狂”和“野”展示了黄 rotrac六个字母组合成的单词 世界铜矿分布 斜齿轮的相关计算,有没有高手求指导模数1、齿数22、分度圆D=31.11、齿宽13、法向齿形角a=20度、齿定高系数1、螺旋角=45度、螺旋方向=右旋、变位系数Xn=0、公法线长度W=20.003(-0.08 -0.12)、跨 把 reatmk 这六个字母排列成单词 打火机里面的火花是电流还是电压?电人为什么会麻呢?在一根很长的铁棍或者别的金属的一头打一下,火花到了铁棍,另一头的铁棍的人也感觉到手也麻了,这么长的铁棍,为什么,没有电阻呢? 露天非煤矿山实施中深孔爆破的台阶高度为多少合适? 下面六个字母,符合音序排列的一组是A.LHPSQLB.HLNPQSC.HNLQPSD.HLNQPS 电子打火机里面的火花产生是什么原理?为什么会有那么高的电压? 请教煤矿炮采(长臂采煤法、爆破落煤)怎么提高出煤效率本人在煤矿从事采煤工作,看着炮采工作面工人每天工作很辛苦,请教下各位有什么办法能提高出煤、回料的效率?减小工人劳动量,增 AAABBB 六个字母共有多少种不同的排列方法,请一一列出,如:ABABAB AABBAB 打火机里产生火花的那个东东叫叫什么?原理是什么? 煤矿爆破什么叫自由面 氢氧化钠能与水反应吗? 那些橡胶适合做洗衣机皮碗 油漆能与什么发生化学反应
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘