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

用Visual Basic设计更好的用户界面

HTML文档下载 WORD文档下载 PDF文档下载
用Visual Basic设计更好的用户界面
有时在一个窗口中出现较多的控制件时,如果能向导式地建议用户下一步该做什么,不失为上策。

在Visual Basic的程序设计中,我们可以使用语句:Object.SetFaocus使我们希望的控件得到输入焦点,举个例子:在Form1中我们加入一个按钮Command1和一个文本输入Text1,双击按钮控件,然后键入如下代码:

Text1.SetFocus

再按F5运行程序,您就会看到一单击按钮,文本框会立即取得输入焦点。另外,我们还可以使用语句:Sendkeys "{TAB}"使下一个控件获得焦点,但我们需要在设计时确定各控件的Index值。(在Properties窗口中)让控件自己感知自己的工作已完成,而主动将焦点让出,会使用户觉得应用程序很聪明,也减少了用户出错的机会。

可是当焦点切换的两个控件相隔有一定距离时,上述的方法有时也不足以引起用户的注意,那么一种好的解决方法是将鼠标箭头也移到控件上。可惜,VB并不支持鼠标移动,那我们就求助API函数,API函数SetCursorPos可让我们如愿。

下面是子程序MoveCursorOn,它可让鼠标移动到指定控件上方。

下列代码请放在declarations段中:
 
Type PoinTAPI

x As Integer

y As Integer

End Type

Declare Sub SetCursorPos Lib "User"(Byval x As Integer,Byval y As Integer)

Declare Sub ClientToScreen Lib "User"(Byval hwnd As Integer,IpPoint As PointAPI)

Declare Function GetParent Lib "User"(Byval hwnd As Integer)As Integer

然后建立一个新的子程序(ALT+N→N→键入子程序名MoveCursorOn),下面是子程序的代码:

Sub MoveCursorOn(source As Control)

Dim Pt As PoinTAPI

Dim hparent As Integer

p.x=(Source.Left+Source.Width/2)/Screen.Twipsperpixel)

p.y=(Source.Top+Source.Height/2)/Screen.Twipsperpixel)

hparent=GetParent(source.hwnd)

ClientToScreen hparent pt

SetCursorPos pt.x pt.y

End Sub

使用该子程序很容易,例如我们想把鼠标移动到按钮Command1上,就可使用语句

Move Cursor On Command1

您会看到鼠标箭头已经指着按钮Command1。

需要说明的是,千万不要滥用该子程序。让鼠标自己满屏乱飞,我们的用户会感到失去对应用程序的控制,这是违反我们的初衷的。

在有数个输入框的窗口中(这在数据库应用程序中是很典型的),当用户完成第一个输入框的输入后,总爱习惯性的加一个回车,希望输入焦点落到下一个输入框中(DOS中大多数应用程序是如此),可往往事与愿违,这一回车却触发了拥有Default特性的按钮,结果不是关闭了当前窗口就是又蹦出另一窗口。用户睁大眼睛看着屏幕,“咦?!我到底做了什么?”这是Windows新用户经常遇到的事情。

解决它其实很容易,只需在输入框的KeyPress事件中加入如下代码:

IF KeyASCII=13 Then

KeyASCII=0

Sendkeys "{TAB}"

END IF

这样,当用户在这个输入框中键入Enter时,就象键入TAB键时,焦点被移到下一控件上。但需注意,这种方法不适用于多行的TextBox,即TextBox的MultiLine特性设为True时,因为这时的回车键是起换行的作用。
一周消息树:计算机将拥有五感 人类面临威胁? 通晓数学的人就可以当程序员吗? 360发布企业版4.0 可自定义软件白名单 不要总是依赖机器 MongoDB扩展彰显分片功夫 Dell与HP的OpenStack的战略:渠道对抗SLA 路况电台王雷:未来车载系统会是Android的天下 移动周报:2012移动开发工具系列盘点 谷歌不愿错失机会 Android或不再成它人独享 黑客文化:Facebook公布2012年Hackathon大赛顶级“黑客作品” 中国移动音乐开放平台正式对外开放 GitLab 4.0发布 更好地支持PostgreSQL 傻瓜式移动应用开发平台:专访摩讯创始人赵健 日本DeNA进军中国智能电视,与海信战略合作 扎克伯格不仅为Poke编码,而且还“献声” Wordament:首款支持Xbox Live成就的iPhone游戏 使用Storm实现实时大数据分析! 孙博凯:微软日益开放,Windows Azure更加拥抱开源 大数据计算:如何仅用1.5KB内存计算十亿个不同的对象 我们为什么爱EC2和S3却彻底抛弃EBS 不畏Surface:诺基亚明年或推Windows平板 Linus Torvalds:用户程序被破坏永远是Kernel的问题! Python高效编程技巧 苹果加速硬件迭代 iPad5原型机曝光 宏碁推99美金平板 价格创历史新低 黑莓10全键盘版代号N系列,谍照泄露! 那些年我们用过的互联网产品 QQ亿级业务演变:从文件、音视频说起 少年企鹅的成长之旅:QQ体验设计发展史 全球超算Top 500:Linux已占93.8%,Windows或将消失 AWS东部地区再次发生宕机 Netflix等网站受影响 2012年全球最美的十个数据中心 如何使用net send 在internet 上发消息, 如何设置让主板上的喇叭不发声? 关于字符集的一个问题 关于金山网镖的一点问题?/ 急: seseion 和httpsession有什么区别啊.?jsp内部对象和javax.servlet.http.*下面的类似对象有什么区别和相同点? 高分急救:急,急,急 数据定义问题 急:关于rich text小应用程序的问题,请高手指点!谢了! 女大学生的一天(转载) 200分问一个小问题, 在线等: JBuilder自带的ESite for weblogic部署出错... 请问 vb 怎么样让函数返回一个二维数组?能给你例子吗? 有人知道上海通方信息系统有限公司吗?我要去面式了?大家帮帮忙,做ejb程序员。 域问题 转分 介绍制作DLL专业书籍 有关image的函数问题 请教? TObject和integer之间的转换问题 数据库简单问题 文本文件的最后一行怎末去掉换行符,用程序实现。 善良的程序员,当心QQ骗子啊! 谁有Qamonitor,小弟急用! 不要笑偶 转分 有会打印对象编程的吗?printer对象怎样打印横线??怎样打印带风格的报表?? 表分区的数量有上限吗 ASP 0178 (0x80070005) 各位高人,请一定帮个忙吧 !! SetCellImage 利用C# 读取系统当前进程的出现问题,帮忙!! 请教高手:怎样在一个窗口里能够输入文本文件(按回车键) 另一个窗口显示出同样的文本 高手在何方 (大力请进)sql字符串处理的问题 上哪能下到exchange 2000,下到马上给分! ado问题? 数据迁移问题??? 怎么把列名选出来? [在线求助]:有什么好的方法可以使得鼠标放上有链接的地方状态栏不显示真实地址? 高手在哪!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 各位大哥﹐何為微创软件开发管理﹖﹖﹖﹖ 3com switch 3300 xm 有网管的功能吗? 关于窗口大小的问题,快来捡分~~~ 为什么2001年前的提问的问题、得分的问题、信誉分变化纪录都不见了。 无法在人才频道上提交简历。。。 请问:wsad4支持滚轮鼠标的插件哪里有下载??? 自动锁定计算机? 请问如何终止一个正在运行的应用程序 无法在人才频道上提交简历。。。 后面数据库为ms sql server2000的时间问题? DoEvents 怎么用?(不好意思,只有这么多分了!) CSDN真让我失望,大家都喜欢回答无聊的问题(不要回复) 写一篇关于心态的作文, 洛比达法则的应用 家里蝴蝶灯管坏了原是2针的管,错买了4针管回来,请问两者通用吗?不敢乱安, 世界上最长的蛇有多长?要具体的长度,最好有照片. 人们不允许在公众场合吸烟 people ---- -----to smoke in public. 一次演讲比赛设一、二、三等奖.一等奖的获奖人数是二、三等奖获奖人数的4分之1,二等奖的获奖人数是一、三等奖获奖人数的3分之2.一、二、三等奖的获奖人数各占获奖总人数的几分之几? 穿山甲的鳞片如何炒制? 把曾参杀猪的故事缩写成100字 一道有意思的推算题目!有兴趣速度来哈````58 26 16 14 ( ) 空格里的数字应该是多少啊`? 一天中不同时间同一地点尘埃相同吗为什么也说出来、、Mouhou,你的回答不行啊、、不是指的吸尘器这种人为滴 有2个容积分别是5升和7升的水桶 如何量出1升的水来 一道很有意思的经济计量题,请多多指教题目是这样的(翻译过来的,语言也许有不通顺的地方,见谅)你想推广一种产品,这种产品要么很受欢迎要么没有市场.你估计这种产品很受欢迎(获得 下雨前和下雨后尘埃粒子的数量会不会一样? 六年级数学题目哈有一个上细下粗的圆柱形酒瓶,底面积是10平方厘米,高是7厘米,里面装有一些酒,正放酒的高度是4厘米,倒着放酒的高度是5厘米,这个酒瓶的容积是多少?可能画的不是很标准 大 大兴安岭上主要分布着什么样的林带?这种林带的代表树种是什么? 如何计算一平方厘米内尘埃粒子的含量通过五点取样法测的某地空气中每平方厘米中尘埃粒子含量分别为6.3.9.7.5,为什么一平方米的含量是60000而不是600呢 有没有苏教版六年级数学总复习题哈? 猜为什么是反犬旁 求一部科幻小说,是《科幻世界》上看到的,好像名字是《流浪地球》,但是不是大刘的那本有印象的是未来地球人生活在巨型的星舰上面,每艘星舰都差不多一个地球那么大,人类就遍布在宇宙 蛇的最长寿命是多少 农场牛羊共160只,卖出羊的10%,再买30头牛,现在牛羊只数相等,问:原有牛羊个几只? 流浪地球主要讲什么 那种会吃鱼的蝙蝠叫什么?习性和分布?3Q 曾子杀猪的故事,改编剧本,700字 跪求流浪地球读后感 数学新课标指出有效的教学活动是什么? 这是题算式怎列 升国旗的注目礼标准是什么? 仿写通往广场的路不止一条 一次比赛有50人参赛其中有26人获奖已知二等奖的人数比一等奖的人数比为4:1一等奖是三等奖的1/8一等奖几人 马上要升国旗了,广场上一片( ) 同学们庄严( ),向迎着夕阳冉冉升起的国旗行注目礼.升旗的时候,礼炮响起来,全场( )只听见炮声. 通往广场的路不止一条仿写 都来帮小女子算算哈!有一间储藏室长8米,宽6米,高4.5米.如果每立方米空间可以放大米5袋,每袋大米重50千克,这间储藏室一共可以存放大米多少吨? The Century Park is only 100 meters ahead.You _____ go by taxi.A)must B)mustn't C)needn't D)can't 哪里能买到车前草籽啊? 有一次演讲比赛,有50名选手参加,其中有4/5获奖.已知或二等奖人数与或一等奖的人数之比是5:1,或%有一次演讲比赛,有50名选手参加,其中有4/5获奖.已知或二等奖人数与获一等奖的人数之比是5:1, 蔬菜为什么会冻坏,蔬菜变坏的原理有哪些啊?请各路神仙帮帮忙,快 适合在沙漠中种植的树种和草种有哪些?除了仙人掌. 在一次才艺表演中,有50名选手参赛,结果26人获奖,获二等奖与获一等奖的人数比是4:1,获一等奖人数是获奖人数的1\8,有几人获得一等奖?搞错了,是:在一次才艺表演中,有50名选手参赛,结果26 非典型鳞状细胞 根系最发达的草种是什么?我是专门搞种植的 急切想知道,请问:冯友兰的《中国哲学简史》好的版本都有哪几个?请问新世界出版的怎么样? 气候变化给人们工作、生活和工农业生产带来的影响 有那些? 最基本的物质粒子是怎么形成的?空间里的能量和场是怎么来的? 中国哲学简史 冯友兰的 买哪个出版社的最好? 气候变化给人们工作、生活和工农业生产带来的影响有 什么? There are so many cars in front of the supermarket.He doesn't know___his carA Where can he park B Where to parkC How to park D Where does he park顺便问下,breath可数吗? 冯友兰的《中国哲学简史》哪个出版社的好:我只剩下这一个问题了,急切想知道,拿不定主意,感激不禁注意:是冯友兰的“简史”哪个版本的最好?哪个版本的最好?麻烦给个封面图片 非典型鳞状细胞是怎么引起的? 求大神写点形容距离越来越远的词段,不要太短 在冯友兰先生《中国哲学简史》中,杨朱杨朱被称为先秦道家第一阶段的代表人.在其它的胡适啊、任继愈等学者的《中国哲学史》中有议论杨朱吗?杨朱又是什么地位呢? 怎么制作不锈钢旗杆 就是平常的那种变径旗杆 用什么管 怎么安装 洛比达法则具体是什么内容?能否举例说明一下. 中国哲学简史~冯友兰,有这样一句话不懂,哲学简史》有一句话:在我们对人生开始思想之前,我们必须首先“思想我们的思想”.这两个思想啥意思后边还有“思想思想的思想是反思的思想. 根据提示中译英1.中国是一个具有悠久历史的国家.(a country with)2.你们准备怎么去动物园呢?坐出租车还是乘地铁?(plan to,by taxi,by underground) 什么是洛比达法则 星体为什么会自转 有什么规律? 谁能告诉我不锈钢篮子的全制作过程,最好有图. ∞/∞型和0/0型在洛比达法则里是什么意思?在求极限的式子里怎么才能看出来是∞/∞型还是0/0型呢? 冯友兰人生经历? 奥巴马医改法案成美国会听证会上“箭靶韩军警在韩日争议岛演练登陆 旨在抵御美刊:中国富人国外买房欲圆“西方梦”乌克兰传奇拳王参选总统 支持率高于现普京对乌克兰放狠话 入欧便不可能加入莫桑比克局势引发邻国忧虑 莫总统呼吁多名欧盟国家领导人集体声讨美国窃听默韩谴责日靖国神社合祀韩战殁者 称反人韩央行行长:应仿效中国积极推新货币互澳大利亚军方为因自身失误造成森林大火默克尔手机疑遭窃听 德政界反应强烈要日媒评安倍“积极和平主义” 称应三思俄媒称美欲打造“全球北约”综合遏华日媒:四个关键词解读金正恩时代美媒文章:没有美国的世界将会怎样?波黑发起“植百万棵树”行动财经随笔:“奥巴马医改”为何不讨喜?国际新闻早报:欧洲政界谴责美国窃听行日媒:日英拟开国安热线“牵制中国”美刊盘点中国继续购买美债四大理由日本台风灾区官员与女子欢饮引民愤 或赵志红案30日 二审公开宣判不规范网站4区过半 多部门官网面临整明星足球俱乐部昨成立“商界大腕”俞敏洪 客串历史揭秘电影伊朗称或将 允许核查非核设施勇士晋级第二轮272.5万!篮协开罚单十多年纠纷不断架空层究竟属于谁?广东器官捐献全国居首 男女比例8∶2许钦松亮相本报艺术盛宴 小蛮腰上品东莞“天价校服”“贵”在强制消费今天如何重读汪国真的诗歌?明星足球俱乐部昨成立英百岁翁结婚刷新吉尼斯纪录Quotes语录Numbers 数字潘基文任命了新的联合国也门问题特使车船税知识问答安徽市民 网上可申办公证、法援记者走进大蜀山上的合肥地震台 感受大青岛啤酒:百年品牌香飘五洲(中国品牌
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘