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

用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

将我自已的命令加入窗体的控制菜单栏-VB资料 VB利用 UnloadMode 来控制窗体的卸载? VB利用Form_QueryUnload询问使用者是否关闭窗口 利用VB的图片框实现屏幕的滚动 利用VB动态改变Windows显示模式的两种方法 利用VB控制窗口显示风格 利用VB实现浮动按钮 VB利用子类处理技术限制窗体的大小 奇形怪状的窗体 -VB资料 强制ComboBox弹出下拉框 -VB资料 强制和防止窗口重画 -VB资料 巧用“关于”对话框-VB资料 请问在VB中如何关闭别的应用程序窗口 确定屏幕分辨率-VB资料 让VB5支持动画光标 让窗口拒绝接受键盘和鼠标事件 -VB资料 让窗体处于最前面 -VB资料 让窗体居中 -VB资料 让所有的控件都动起来 -VB资料 让最大化和最小化按钮消失-VB资料 任意多边形的窗口-VB资料 如 何将「拒 绝 被 盖 住 的 窗 口 」还 原-VB资料 VB如何创建椭圆形的窗体? VB如何创建无Icon的窗体? VB如何防止Edit框中的Password不被非法获取 VB如何将鼠标显示成动画鼠标? VB如何利用程序拉下 ComboBox? VB如何让窗体右上角的X失效? VB如何使Form的背景图随Form大小改变 VB如何使Text文本框的属性只读? VB如何使窗体右上角的"X"无效? 请问,有没有青岛的朋友 简单问题易得分:在VC用ADO访问数据库(SQL Server)时,如果字段为NULL时该怎样处理。。。。急!急!急!急!急!急! 十分强烈要求讨论微软的编程书 二进制数据(比如图片)如何通过SOAP以XML的形式传输? happyxiu come in 进过局子的讲讲你的遭遇! 有没人对挂广告条赚美元感兴趣? 一起研究研究 光驱不能自动读取怎么办!! 偶辛勤灌水,到底是为了什么? 为了帮助后进青年提高,请水园的mm们来登记一下 请问在SQL SERVER 2000中,以下字段类型有什么区别: 请各位介绍一些FLASH的好书!!!!!我要学! 关于PCMCIA ...欢迎交流指导! 她问我“上个黄色网站让我看看”, 是什么意思????????? 怎么样能提高IE的速度? 你的DELPHI6的帮助有没有这种问题? 请推荐几处下载java编程方面电子书的站点? 请问有没有工具把access中的文字繁简转化一下?? 找一个高人——HC 请教如何使用API中的GetUserName()? 怎样才能买到 外文期刊??? 如何将一屏显示不下的文档打印在一页当中(CHtmlView) 请问《程序员》杂志上的那几本外文期刊怎么买??? 我下载了几个rar文件有*.rar\*.r01\*.r02等等,可是这个网站没有提供合并文件,忘了怎么合并了,谁知道快告诉我。copy *.rar+*.r01不管用 请教在线的高人(在oicq上吗?) 我是白痴!大虾,什么是专家分,怎么得,有捷径吗???????????? 图形化界面问题!控件与窗体不重合! 书上的东西我看不董,是关于PB70与COM/MTS的,COM/MTS是什么,谁能告诉我? 怎么样能解决死机的问题? 跟帖比聊天有意思多了,哈哈 过去了,就不要再提 灌水乐园,我的MUD练功场 StringList 与 String的区别 为什么我的组合筐里只有最后的项,即"交叉线",没有其他的内容? 关于Tmemo 共享软件的开发经验 部件(Crystal Repot)引用错误(crystl32.ocx),请高手指点,,谢谢 无数个问题之123 steps你有oicq吗?壮丁!!!sos 怎样将数字字符转化为数字呀? WIN98下能读的光盘到了WIN2000/NT下居然读不出来! WIN98下能读的光盘到了WIN2000/NT下居然读不出来!(我的光盘是刻录的) 我不想要分(也许我只是个女生) 40分=一网址:那儿有Effective C++ 2e电子书? 如何在菜单中加入下拉框?像delphi的那样. 怎样用vb程序实现监控打印机打印输出情况 大家评出水园最有人气的mm,我给分啊,行动要快啊~~~~~~~~~~~~~~~~~~~~明天晚上7点结贴 编译servlet文件出错!急!!!! 寻觅朋友(用delphi优先) 我希望能认识安徽的程序员~~~~~~~~~~~~~~~联系:6011458(OICQ) 很长时间,我还是觉得这是一个事实! Word2003能打出汉字打不出数字和字母,字母和数字都是显示乱码.怎么办?只在Word上不行.Word2003能打出汉字打不出数字和字母,字母和数字都显示乱码.只在Word上不能,在这里能打得出.例如:12345678 副词修饰每个词性时 的位置多哪些在前哪些在后 形容词和副词要怎么区分?另在,我要怎么识别单词的词性?如名词为n word2003 怎样打汉语拼音我想直到拼音,拼音下面没有中文的那种,当一份测试题(看拼音写生字的那种).可是用Word里的拼音,一把中文删了拼音也没了,怎么弄? 想问一个语法问题,修饰副词的词是什么词性? 英语上名词、动词、形容词、副词、代词、介词、数词 word2003 中如何将汉字垂直翻转?word2003 中,我打了四个大字,我想把这四个字倒着放,也就是上下翻转.怎么样才能做到这种效果啊! 英语中各种词性不同的单词,如形容词、副词等等之间的关系!就是名词、副词等后不跟什么什么,跟什么什么 好人一生平安 英语如何分辨哪些是动词.名词.形容词.副词.数词.代词.冠词.介词.等. 如何在 Word2003 中给汉字加上拼音和声调有没有比较简单、快速的方法? 单词的词性中 a.代表什么?是形容词还是副词?不太明白 a.是 adj.还是 adv.那副词也用这个表示吗?还是怎么表示? 英语语法 英语词性缩写 全部的 “菟”的读音是什么?我在word2003里给汉字注音怎么操作? 哪些单词是副词的形式形容词的词性 英语语法中词性的用法 这个音标怎么读 有哪个汉语和它字发音相似的?[з] aboard副词词性怎么用,副词能修饰名词么 英语语法中v.vt.vi.这种符号分别表示什么词性 word2003里,拼写与语法检查功能没打开,怎么开启? 英语的名词,冠词,代词,数词,形容词,副词,介词,连词,感叹词,动词!的简写比如,名词简写是n 形容词是adj请正确出写!名词,冠词,代词,数词,形容词,副词,介词,连词,感叹词,动词的简写! 初一上英语语法短语句子,关于sth和sb的如:like doing sthwould like to do sth…… 悬赏,谁能给我发word2003?我拼写与语法灰色无法用检查功能我上网查了一下看来只能下个正版的了可是我笔记本网速比较慢谁能给我发个?有最佳我会提升悬赏的 英语之中名词、代词、动词、形容词、冠词、数词、副词、介词、连词、感叹词代表的意义最好说得通俗易懂一点,用于什么类型. 初1英语语法短语句子,关于sth和sb的 全部! word2003如何关闭“自动检查拼写和语法”功能啊?有时候打开几十万字的小说时,word会花很多时间来检查拼写和语法,占用cpu太多.我双击word底部的一个图标之后,有一个“不检查拼写和语法”,但 英语,名词、动词、形容词、副词、数词、代词、介词、连词、冠词、感叹词,怎么变换成其他形式!(要全部的转换形式!英语,形容词、副词、数词、代词、介词、连词、冠词、感叹词,怎么 求英语语法(sb.sth之类的)最好是初一的比如buy sth.for sb.sell sth.to sb.之类的,要汉语 word2003的语法检查功能,能不能检查到英语语法的正误? 将所学英语单词(小学三册书)按词性分类 名词 动词 代词 形容词 副词 连词 介词 其他 不久就要交 初1英语语法短语句子,关于sth和sb的7年级所有的 俺English差 好心人说下 最好是专业的 很懂的格式如下:ask sb to do sth (意思) 怎么我的word2003语法和拼写功能无法使用啊?我的WORD2003 没有语法和拼写的纠错功能,这项功能用不了,用了也是查不出问题,我看人家的都能自动实时标出所写的错误, 英语中除了名词,动词,代词,形容词,副词,连词,介词还有哪些词 really是什么词性 word2003 拼写与语法没有了怎么办WORD2003中检查拼写错误这个功能没有,在“工具”中的“选项”里的“拼写与语法”是灰色的,没办法点击,我该怎么办啊? 英语的名词,副词,形容词,不定代词……这些词性怎么区分?还有一个句子的组成要什么?ly或es结尾的词都是什么词?怎么区分?还有点没弄懂,帮忙总结下(英语最基础的语法) 最近这个单词用形容词词性怎样写? 江苏译林牛津英语8b单词表的Unit 1和8a单词表的Unit 5和Unit 6.帮忙打出来,要英文和中文一起的. 英语词性顺序 比如一句句子 形容词副词名词动词怎么排列 请举例 就是一句正常的句子那形容词和副词之间能修饰吗 比如VERY MUCH 是不是副词放在形容词的前面 h开头的形容词单词(词性是好的) 牛津英语8B单词表 全部单词 有中文含义的 困难的名词,动词,形容词,副词都是什么(difficult),difficulties是什么词性,困难是可数名词吗 really是什么词性,real与really有什么区别 谁有牛津英语8b单词表一定要2006年版的,且是牛津英语的. 汉语“永远”的词性是副词?名词?形容词?求详解.例如:永远的朋友,永远是朋友,直到永远。我本以为它的基本用法是个时间名词,名词做主谓宾定状补我都能理解。哪想到现代汉语词典里 “欣赏”这个词属于什么词性?比如,“我很欣赏你”,或是“欣赏是一门艺术”,抑或是“欣赏你不代表膜拜你”之类,请问,这个词在不同的句式里,算什么词性和什么语? 求牛津英语8a单词表要8A所有的单词,音标和解释都要重要的是U1的哦~ 急!关于succeed的词性、性质(列出名词、副词、过去分词等等)(要详细)以及有相关联“成功”的单词回答好会追加分值~!急需!“详细”是问题前半部分要 后面的可无 “回答”这个词属于什么词性如果在“那女孩的回答给了我一种自信的感觉。”中也是吗? 牛津英语8B单词表 英语词性的用法?在句中的用法?形容词 和副词的用法?介词的用法?等 所谓这个词属于什么词性 牛津高中英语模块5单词表急用 就是高2英语的单词表 牛津版的! 英语中哪些词语是形容词.副词.名词就各举几个很常用的词语就可以了. 看看这个词是什么词性?The young people were still abroad at the dead of night.其中的abroad是什么词性?be still 后面应该跟什么词?形容词还是副词? 牛津高中英语模块七 的单词表谁能给我啊第一到第三单元的,单词表, 这个几个单词的名词 副词 形容词 是什么?compete 名词________ ; 名词________magic 形容词________admit 名词________physic 形容词________intelligence 形容词________true 名词________;副词________choose 名词________crea look后加什么词性He looks ( ).In fact he isn‘t.A.care B.careful C.carefully D.more careful(主要的问题是:look(系动词)后加什么词性的词) “坚决”除了形容词词性外,有无其它词性,如副词? 几个单词的的名词形容词和副词quiet,rain,happy,quick,luck,还有another,the other的区别最好举例子谢了别那么深奥,什么ADJ给我翻印成汉语 有没有动词形式啊?adj是啥意思啊,还有n another,the other的 词性的意义结构包括虚词
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn