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

用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

TIOBE 2013年1月:不负重望 Objective-C再次赢得桂冠! 大数据:商业或技术的挑战? 开源移动统计:Cobub Razor近期版本大升级 无人机应用,为何屡遭苹果拒绝 2013年Java继续火的五大理由 Rails所有版本都有SQL注入漏洞?其实没那么严重 如何设置Windows Server 2012 NTFS权限 智能手机大局已定 HTC难扭转乾坤? 比谷歌手表更酷!基于大数据分析的睡衣 众投资金:改变了移动游戏开发的一切一切 这些科技产品和革新或在今年“横空出世”?! 现代Objective-C七宗罪 Google工程总监Ray Kurzweil意欲打造“虚拟朋友” 惠普开源JavaScript框架Enyo更新:支持桌面和移动平台 分析:三星或将成为科技行业第五巨头 是真的 诺基亚真有可能推Android手机 如何打造IE10的指尖触碰式用户体验 SUSE全球OEM联盟总监:为何SAP HANA只选择SUSE? 推荐2013年最佳PHP开发框架 Patrick Wyatt:代码没问题 程序却有bug? NoSQL的可靠性及扩展操作 最新Skype加密技术:“无声”通话能躲过FBI监听 谷歌锁死SDK,能阻止Android碎片化吗? KitCam团队专访:为应用做加法也能雄踞榜首 谷歌哭了:Replicant 4.0 SDK发布搅乱大局 忍者神龟与禅宗启示:如何突破移动广告困境 Linux会是更好的游戏平台?暴雪是这么认为的! 新型恶意软件瞄准Java服务器 AWS被纳为“战略物资”市值或可达到300亿美元? 十张图带你入门Map/Reduce 低端Android野心,Intel发布Atom Z2420处理器 我手头有两份ISA服务器详细设置和安全策略的中文说明书(含图解),我想让大家共享,欢迎大家下载! 数据串行化等问题,请高手指点,一直在线恭候高手????????????????????? 高手请进:如何实现象vc里面一样的 关键字着色?在线等待?马上给分 dbchart内如何动态显示数据源的内容 ODBC高手看过来 在 html help workshop 如何做出 what's this 功能 怎样把网卡设为混杂模式? 请各位大侠给分析一下各种数据库格式的优劣?(如MDB、DBF等等) 请问这个论坛的 CSDN论坛助手.Net(0.21)哪里有下载? 新手提问:关于使用CSocket,为什么我跟服务器建立连接后马上就断开呢 ★★请教AVI文件的API函数★★(关于将位图存成avi时写入的一点问题:急问)(150) 求救!救急!各位仁兄帮帮忙!! 【急】如何处理一组RadioButtonList呢? 签名活动:目前csdn里面发现很多作弊者,反对作弊者进来签名! 哪有中文MSDN下载?先谢谢 请帮忙看一下这个setfilter应怎样写? (这个问题,不会没有人不知道!)关于vfp6统计图的问题`~急呀`~救命呀`~~~回答者都给分`~~ 打印预览窗口的显示问题 vb中的trim在c# 中如何表达 数据库 我为中国队加油,看看我的为中国队加油首页! 关于FLASH的??<在线等待> 请教各位大虾!!!急,我的分数全部送出!!! 高手们怎么样才能在窗体上引入FLASH动画呀????? 好烦啊!oracle 7.3.4数据导到oracle9i的字符集问题 每当我最困难的时候,我就想起了csdn,50分奉送!!!!!图像问题 QuickReport设置的问题 如何打印源代码! 那位大虾知道ACTIVEX命名的由来 请问什么错误,在brinkster测试通过,但是放在另外的站点,却不行了。 中国必胜 mfc 中的类型是怎么定义出来的(比如 dword,LPTSTR 等) 救急!!关于表单中文件域的使用。 奇怪的问题!!!!! 请问什么是contentPane? 用Delphi作网页用IE浏览不行 求助:AfxBeginThread的编译问题! 用C裸写聊天软件,谁能? 菜鸟问题:如何安装和配置ASP.NET开发和运行环境? 快来呀,破解QQ密码,高分相送! 有需要域名和空间的吗?我这里有。 我的服务器CPU占有100%,如何解决?!!加急!!!!!! 请问谁在csdn上订购过书啊?需要多少时间才能拿到啊!!!! 小问题:关于AfxBeginThread的参数调用问题 请教高手:关于在ACCESS中的两个数据库之间复制表结构问题 请问谁在csdn上订购过书啊?需要多少时间才能拿到啊!!!! 问题求解 现实一点,各位,我和别人赌了巴西不能赢中国队净3球以上,大家如何看? datagrid连接adodc access转化为mssql时出现的一些问题??? 工作流运行时出现了问题!很奇怪! 爱字开头的褒义词十八个,并且都是四个字的 有机磷酸酯类的中毒机制、中毒症状和解救方法? 碳酸钙加水能否变成氧化钙 t,a,n,m,i,j,r,l,e开头的褒义词(要中文解释) 下列液体的PH大于7的是A正常人体血液 B生理盐水C食醋D胃液 氧化钙一步变为碳酸钙可以吗,怎么变 可字开头的褒义词如可爱,可敬,多一点哦 一燃料电池以氢气为燃料,空气为氧化剂,铂为电极,KOH为电解质,OH-为导电离子.写出阴阳极的反应方程式,同时说出为什么KOH在反应前后物质的量不变.方程式不对吧 人的一生之中最有意义的事,能让我们感到生活的乐趣. 醋酸铝和碱式醋酸铝用途相同吗,可以通用吗 为什么CH4的燃料电池的负极 CH4+10OH-+8e-+7H2O 这个反应是如何发生的(原理)还有熔融盐燃料电池 负极 2CO+2CO3 2--4e-=4CO2 又是如何发生的 汽包有什么作用 请问“醋酸铝”含铝、醋酸各多少? 一个化学方程式怎么判断正极反映,负极反映,什么时候水也参加反映? 怎么让生活有意义 都是多少价啊 有什么办法能知道原子团是多少价啊 木炭能不能吸甲醛家里装修接近尾声了,想用炭来吸收甲醛,烧烤用的木炭能吸收甲醛吗?在长春哪里能买到活性炭,价格多少? 汽包的作用主要有哪些? 初中化学的全部原子团.请帮我列出来. 汽车玻璃下雨天时起雾怎么办就是不想开空调.打到冷风档吹也是会起雾.不知道有没有什么添加剂可以加到玻璃不里面用的? 汽包的作用? 食用下列哪种食物 有效减少甲醛对人体的危害豆浆or食醋,or白酒or糖水why~ 思域如何去除汽车玻璃下雨的雾 如何让生活过的有意义呢? 吃哪些食物会中毒? 镜子怎么防雾 汽包的作用是什么? 黄绿色气体是什么 用氢氧化钙和氯化铵各10g,可制得标准状况下的氨气多少升? 怎么样让我们感到生活有意义?•怎样让我们的未来不走那些悲惨的老路?怎样让我们的生活变得更有价值,让我们所生活的时代、国家更加强盛? 黄绿色气体什么 用氢氧化钙和氯化铵各10g可制标态下氨气多少升? 10.7克的氯化铵与足量氢氧化钙混合共热,可制得标况下的氨气多少升? 什么气体红棕色,什么气体为黄绿色 如果大气层不能阻挡宇宙辐射,那么地球还会孕育出生命吗 一部外国电影 那个星球没有氧气 最后的结局是哪个星球有了大气层 有了氧气一部外国电影 那个星球没有氧气 片中出现了一个貌似是3乳的女人 最后的结局是主角和坏人做斗争 把星期里的 红棕色、黄绿色气体 分别是什么? 碳酸钙 加入什么 变成氧化钙如回答出 大气层的氧气从哪来大气层中的氧主要从哪来,是光合作用吗 黄绿色气体 10.7g氨化铵与足量氢氧化钙混合共热,最多可制得标准状况下的氨气多少升/ 大气层中的氧气如何形成? 沼气发酵是发展生态农业,治理农村环境的唯一措施 10.7g氯化铵与足量氢氧化钙混合共热,最多可制得标准情况下的氨气多少升? 假如大气层中没有了氧气,那么还会有闪电吗? 生态农业和农村的经济结构,富民工程.现在国家提倡生态农业,发展新农村建设,那么太阳能沼气工程的价值和前景如何.陕西关中地区能否发展和推广. 7g氯化铵与足量氢氧化钙混合共热,最多可制得标准状况下的氨气多少升? 人生感悟,希望能得到大家的评价.单纯是因为不愿意去接受心底排斥的东西,甚至不愿意成长,我们并不是真正的单纯,真正的单纯只有幼儿园那些眼神清澈得令人心疼的孩子们.我们是太过于执 冬天到了燕子为什么要往南飞 PH值为6的酸性液体兑入水后酸度会不会降低?我不理解PH值和酸度是不是同一个概念呢?酸性较强的液体兑水后会不会变成弱酸性? 我感悟的人生的意义,要说人活着的意义,我觉得首先应该是区别人跟动物的区别,人一辈子不管你有钱没钱,无非就是一日三餐饭,晚上有个地方能睡觉.动物也是如此,无非就是食物和睡觉,从这 通常情况下,黄绿色气体有那些? 有两种液体各10ml,A的ph值是2,B的ph值是4.需要加入多少水使A的ph值为2 有两种液体各10ml,A的ph值是2,B的ph值是4.需要加入多少水使A的ph值为4 ..... 燃料电池的基本组成为电极 电解质 燃料和氧化剂.此种电池的能量利用率可高达80%,产物污染也少下列错误的是A 上述燃料电池的负极反应物是氢气 甲烷 乙醇等物质.B 氢氧燃料电池常用于航 燕子为什么要南飞过冬 地球大气层为什么不向真空的太空逃逸 怎样了解生活,感受生活 u,j,i,a,n,h,u,a,为开头的褒义词 动物科普:燕子为什么要南飞过冬 水电离出氢离子=10^-5,则液体为什么液体,PH是多少
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘