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

用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

基于ActiveMQ的消息中间件系统 OneMM逻辑与物理架构设计详解 John Carmack大神亲操刀,为Oculus开发Netflix应用 React Native实战(二):Android的打包 独立游戏的成功秘诀:好设计才是王道 Swift 2.1的新变化 Apple TV实战:用TVML开发第一款tvOS应用 【SDCC讲师专访】阿里王晶昱:云时代的分布式数据库DRDS 硬件研发、嵌入式技术演进:MDCC IoT峰会日程揭晓 专访百度知道iOS团队负责人孙源:代码强迫症的死实践派 TIOBE 2015年10月编程语言排行榜:Ruby取代Objective-C进前十 【SDCC讲师专访】PingCAP联合创始人兼CEO刘奇:好的产品应开源,不闭门造车 【深入浅出Koa】常用工具分享 帮你降低编程难度 Relay: 全新的React数据获取框架 探索游戏开发面临的技术挑战——MDCC 2015游戏开发专场议程曝光 【SDCC讲师专访】易开发创始人潘俊勇:这些年我遇到的那些坑 【CTO讲堂】OpenStack行业实践和发展趋势探讨 万物互联,移动为先:MDCC 2015移动开发者大会盛大开幕! 【MDCC 2015】微软开发体验与平台事业合作部大中华区DX部门总经理Srikanth Raju:物联之上云+端 英雄会晚宴,Top开发者共聚“华山之巅” 【MDCC 2015】产品与设计专场(上):百度研究院、印象笔记等专家齐聚,以实例探讨如何打造好产品 【MDCC 2015】产品与设计专场(下):网易云音乐、在行、三节课、去哪儿网、野兽骑行大咖的产品之路 友盟:把数据用活 让开发者享受大数据红利 友盟:用活大数据 让精细化运营为移动开发者服务 携手世纪互联 IBM Bluemix云平台落地中国 【MDCC 2015】IoT峰会—硬件开发与技术专场(下):专家齐聚,共同打造联网新时代 【MDCC 2015】虚拟现实专场(下):虚拟现实的“困”与“竞” 【CTO讲堂】面对世界竞争对手,如何拿到Google PDF开源项目PDFium? 提升网站性能开发的10个技巧 SDCC 2015:顶尖技术精英云集 大会日程及首批讲师议题公布 《近匠》专访猿团创始人CEO谢恩明:梦想、未来、改变 《近匠》专访小熊尼奥:从软硬结合到IP合作,AR产品的机遇 WINXP开始运行宽带播号程序缓慢,什么原因? newwish2 给我一个例子,邮箱:make_a_wish@163.com!!!着急呢!! evc4.0中文显示的问题! struts--html:select 为何出不来? 讨论:关于WinXP下开发的COM+的分发问题!! 菜鸟的小问题!! 一个关于东芝笔记本的故障 请问JBuilder错误提示:cannot access directory javax\mail at line 7, column 1 CSDN的速度越来越慢了,来这里的高人也越来越少了! 有没有DOS很熟的仁兄?纯DOS下和WIN NT4.0联网 小小问题!!! 困扰我多时了。。。 sybase 在程序中连接的问题。急,我咨询Sybas公司也不行。 按钮茶馆开张啦,有闲的进来聊天吧~ 小問題 PhoebusApollo(sunny) 你说要开贴,又没分,我有,给你100分,进来领吧!呵呵,不用谢!:) 关于DBGridEh排序的问题,急急急!!! ora-12224错误,tns no listener错误 !在线等待 ,急~! 求助jb9的破解 报表问题,急呀,救命呀~~~55555~~~~ 500分求解决一个问题 在线等待 解决立即给分 2003下为什么我的声卡不能用? 在程式AAA.PRG中如何修改表的字段的類型,比如字段C類型改為N類型??很急!!! 为什么有时候成员函数或变量显示不出来 救命!我在程序中使用webbrowse控件………… 在线等待。 也许是一个很简单的问题! 连接mysql出错 寻关于工控的中英文对照资料 想在暑假打工(计算机方面的)需要什么条件啊? 关于SQL SERVER的疑难问题!来者有分!(在线等待!分数不够可以再加) MTS与线程——高分相赠!!!! 来看看啊,告诉我再哪里下就给分啊~~ 大对象问题,所有书都是这么说的,可是都作不成功? 如何指定tquery中的某一行? 如何通过API发送翻页按键给控件? 在jbuilder 中 不能通过 创建Ejb Tester对EntityBean进行测试吗?SessionBean都可以的 如何在ie中点右键获得这个ie窗口的window Text以及其主框架的URL。 关于Kdevelop开发 大家讨论一下项目负责人到底该赚多少钱(年薪)? ★★★★★如何在文件下载完毕后自动关闭浏览器??★★★★★ #### 关于CWebBrowser控件 #### 兄弟我要做一个网上银行系统,需要做压力测试,各位有过这样的经验吗??怎么来测试,用什么工具来进行并发访问压力测试? 兄弟我要做一个网上银行系统,需要做压力测试,各位有过这样的经验吗??怎么来测试,用什么工具来进行并发访问压力测试? 菜鸟问题,在线等待,如何让JList显示带gif的文字啊? delphi+access 用ADO连接,为什么在SQL语句中用SUM()时,执行出错?送分 为什么我make时,有错误:'class' or 'interface' expected Dreamweaver mx自带的制作下拉菜单的部题? Interbase字段类型有多少,就这些吗??急呀 Sybase:怎样知道本地的哪些数据库文件已经被连接,和连接的DBN,DBF,ENG。无论是Central还是其他应用打开的,我咨询Sybase公司,还不行 请问如何用ASP.NET或ASP发送会议要求和约会 怎么样在网页上插一个FLASH动画呢 难忘的秋季运动会 500字以上 生物如何保证遗传稳定性?现在才注册还没积分,等有了积分在补给给予帮助的恩人~ 快看看快,数学平方根题, 难忘的运动会(四年级)秋季400字. 白居易的文学成就 求解答,选ABcD哪一个? 已知角aob是45度,oc为一条射线,且角aoc与角cob等于2:3,求角boc的度数 关于纽约的环境问题(尽量用数字)除四年级语文暑假作业上有的,其他的都可以. 生物如何保证其遗传的稳定性分子遗传方面的问题 为什么农村人们都要进城务工? 白居易诗词评论文章500字 如图,已知三角形abc中,ac=4,bc=3,ab=5.现绕ac边所以的直线旋转一周,求旋转后的几何体的体积是多少?明天交的~如图,已知三角形abc中,ac=4,bc=3,ab=5.现绕ac边所以的直线旋转一周,求旋转后的几何体的 已知AOC=40 自O点引射线OC 若AOC比COB=2比3 求OC与AOB的平分线OM所形成的角的度数 我国每个节日都是一道独特的风景线,按样子些下列节日!示例:清明节:雨也纷纷泪也涟涟,思也悠悠意也绵绵.端午节:.中秋节:.植树节:. 激光打标机标刻金属件为什么字体不黑 如何组织一场三局两胜制的男单网球比赛?比赛为男单比赛,从进场开始描述,比赛中涉及的规则以及考虑比赛过程中可能出现的问题, 白居易诗词里“芙蓉芍药皆莫姆”是什么意思 星期天,小兰和小倩去买画画纸.小兰用去自己所带钱的5分之4,小倩用去5分之4元,他们用去的钱数相同.这道题对还是错,请说明理由 急求各种有利于观点 “农民工不该进城务工” 的相关数据!用于辩论赛 几道作业题,谢谢在分组交换技术中,可以将网络看作由 和 两部分组成. 按计算机网络的使用范围分类,可分为 和 . 按计算机网络的传输信道,可将网络分为 从汉至元政治制度演变说明中央集权有哪些矛盾 比赛采用三局两胜制,如果甲队想获胜,他们应该怎样安排应对策略? 有人认识她吗 为什么RNA中不存在高度重复序列? 衣服上有个小线头,太短了想系个死扣系不上,怎么办,怎么把它收住?那地方是这么一根线缝过来的,发现头上这个地方没收住,是松开的,若不管它的话后面缝的部分很容易就连锁反应依次跟着都 几道作业题一.甲,乙两列火车,每列各长180米,如果两列车相对行驶,从车头相遇到车尾离开共需12秒钟.如果两列车同向行驶,那么从甲的车尾超过乙的车头共需60秒钟,假定列车速度不变,求甲,乙 给定一个含有n个数的序列,这个序列中存在重复的数,请列出这批数中全部有重复的数.要求重复两次以上的数#include#define MAX 20void main(){int i,j,k,m;int dat[MAX]={54,70,23,75,9,21,10,24,36,54,9,30,23,20,23,20,21 有线电视线头怎么安装?有线的线和有线头怎样衔接是最好的,可以让电视很清晰 根据成语填一位有关的历史人物:1、负荆请罪()2、投笔从戎()3、约法三章()4、完璧归赵()5、闻鸡起舞()6、百步穿杨()7、慷慨悲歌()8、横槊赋诗()9、洛阳纸贵()10、 有谁对清代的书画家比较了解 我有一个问题 清代是不是有个书画家叫"曾国杰"也许不是什么名家 如果没有的话 那么清代姓曾的书画家都是哪些~ 针线盒里面的线乱了该怎么办?可以用很乱来形容.我家的针线盒里线全乱了,弄半天也没弄开,我这人有自我强迫症,一想起来线这事,心里就别扭,睡不着觉,必须得想出来个招,不然我就别想干其 0.2乘1.8-3x=0.12 列举三位清代书法家及其代表作品. 已知OC⊥OB,垂足为O,∠BOC-∠AOC=60°,试求∠AOB的度数标准解题格式来做 菱形的对角线是角平分线吗? 请问作文四要素是什么 已知OC⊥OB,垂足为O,∠COB与∠AOC之差为60°,试求∠AOB的度数 问一下怎么打出来比■还要大的黑色方块?不是,我的意思是还有一个字符比■还要大,不是单纯地把■放大而已 作文四要素 省去图形,以知条件不变,OC垂直于OB,垂足于O,角COB与角AOC之差为60度,(几何题)试求角AOB的度数!~过程写清楚! 教我怎么弄上面黑色方块和里面的字 作文里的抄议是什么意思? 已知OC垂直OB,垂足为O,角OCB与角AOC只差为60°,试求角AOB的度数请用标准解题格式来做. 小黑色方块怎么打 下列图片中文字所含意思!这是一个女孩给我的字条上写的话,可是小生愚笨不懂当中含义! 补充:我喜欢她 从O点出发的三条射线OA,OB,OC,若∠AOB是直角,∠AOC是∠COB的3倍,则∠COB的度数是多少? 黑色方块怎么打 写出一个含有下列字且意义一致的成语如:秋(时期)---多事之秋1.懈(懈怠)---2.论(评定)---3.益(利益)——4.远(不接近)——5.论(谈论)——6.恨(遗憾——7.躬(亲近)——8.夙(早晨)——9.益(增加)——10 请问哪些可以折成正方体? 给我一段文字符号,黑色的方块,然后组成一条发给我,我手机不好打. 文献有哪些类型?它们之间的关系是什么? 难忘的运动会 用英语怎么写 关于白居易的文学常识 语音四要素和音位之间有什么关系 写文章时,写到心里的想法应不应该加引号? 白居易的文学常识? 求平方根,1212.56361-----400(分数) 心里的想的话需要加引号吗?人教版四年级上册《巨人的花园》第六自然段最后一句话——他想:“今年的春天为什么这么冷,这么荒凉呀……”,需要加双引号吗?一般是不加的吧?那这里是什 已知三角形ABC中,AC=3,BC=4,AB=5,以AB边所在直线为轴,将此三角形旋转一周,求所得几何体的体积.圆椎的母线长为10,底面半径为6,一球刚好放进该圆椎中,求这个球的半径亲爱~*n_n*~ 平方根的题,快来看看, 美研究称已婚者比单身汉更长寿 但容易马达加斯加总统选举开始 或有望解决该墨前警长向美贩毒 被判13年监禁罚款男子用数百公斤大南瓜造船 划水距离创英国小王子受洗照流出 四世同堂皇室香巴西总统批美国监听默克尔 称美反恐理蒙古国成“黄金国” 法德纷纷“带团”澳大利亚一17岁男生步行赴学校途中遭美国商务部对中国输美味精发起“双反”澳学生流行靠吃“聪明药”提高成绩引发俄外交官被指在美国招募间谍 美联邦调美国拟投资82亿美元治水 有望以此刺俄称叙利亚军事对峙在加剧 系因种族教日本:中国舰队穿过冲绳本岛与宫古岛间墨西哥糖果厂爆炸致1人死40人伤 仍三名驻阿富汗英军官涉嫌私刑处决塔利班日议员质疑安倍 称应给首相出席国会次逾2.8万人白宫网站请愿 “杀光中国澳联邦贸易部长大赞华为 支持重估宽带新加坡办第四届“亚洲群英会” 特邀名澳大利亚借调英国电信精英助力国际宽带西班牙科学家造“迷你火星”恒大中超助威团火热招募承诺尽全力提供准确信息警方敦促投案自首巴尔德斯重伤均已被判死缓300所学校推广足球教育每日一句!出差发现中120万下一篇一封奇异的信笔记本里的母爱首度亮相世界水日:恒大冰泉倡导全民健康饮水 佩兰:挑战大,盼惊喜采访负面报道收封口费2014,羊晚“马体汇”C10投资份额10%GEOX春意诱人政策违规
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘