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

用VB设计更好的用户界面

HTML文档下载 WORD文档下载 PDF文档下载
用VB设计更好的用户界面
有时在一个窗口中出现较多的控制件时,如果能向导式地建议用户下一步该做什么,不失为上策。在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时,因为这时的回车键是起换行的作用。
不断抄袭的Facebook正逐步沦为一家普通的公司 Windows 8.1会不会把Windows 8的“Modern”开发者踢到路边 任志鹏:FusionCloud是华为二十年技术积累的精华 机器学习典范?iOS7中的Siri能主动学习如何发音 三星宣布关闭PC业务 主推便携设备和一体机 Web设计师必须掌握的六大设计策略 Facebook为什么要推Instagram视频分享功能? 天气预报(id后面的9位数字为城市代码)年月日,星期,当前时间(仅用于javascript) PHP 5.5.0发布 不再支持Windows XP和2003 专访ThinkPHP创始人刘晨:用最简单最快速的方式开发PHP应用 重构:仔细查看,改进代码 加速编码的17款最棒的CSS工具 生于微信:专访疯狂猜图CEO曹晓刚 谷歌:受感染的合法网站远比恶意网站危险性大 Mozilla正式发布Firefox 22应用程序开发者受益 支持3D游戏、视频通话和文件分享 直接拿来用!最火的前端开发项目(一) Salesforce.com和Oracle在云合作上达成长期协议 即将到来的数据中心僵尸末日,谁能成为最后的幸存者?! Andorid APK反逆向解决方案:梆梆加固原理探寻 科技拥抱设计:体验设计如何创新? Rails 4.0正式发布 命途多舛的webOS,两度易主,生生死死多少回 Citrix全面开源XenServer 为了三十亿人的网络幸福:Google投资O3b发射网络卫星 Windows 8.1中IE 11开始支持WebGL和SPDY/3 微软Build 2013开发者大会:盘点Windows 8.1的15个重大更新 瞧!这是摩托罗拉移动新Logo,你有什么感觉? 专访UEditor创始人战毅:打造最佳的用户编辑体验 Eclipse 4.3 正式版发布 代号Kepler 为兴趣而生 七大编程挑战项目,你敢来吗? iOS 7辅助功能:左右摇头控制iOS设备 聊天室来客列表的刷新方法是怎么实现的 请教各位PB高手! 关于时间的问题,请各位帮我看看 DELPHI中关于调用SQL SERVER存储过程???(高分相送) 就真的没有高手能给出破解word文档密码的高招或者软件吗(我的分,你的答案!!) ?一个对表格做校验的问题? ????****当用程序调WORD时,我想把WORD的右键事件屏蔽,请高手指点如何实现 一般在DOS下,在系统盘C中找不到其它的逻辑盘的原因有是什么? 在D5中winsock用recReceivebuf收数据为什么老出现地址错误???高分相送!!! 索取代码 求救:关于邮件服务器(SMTP)认证 请问在CE系统数据库编程时CEVT_UI4和CEVT_LPWSTR有何不同? 浏览器里能否使用带有界面的ActiveX Dialog中Edit控件对应的变量m_edit_string(CString型)如何得到控件中显示的串 各位:哪里有PB 7.0下载? 新学jbuilder请教前辈:听说用jbuilder做出来的东西脱离jbuilder环境后运行通常要改好多东西,怎么做能避免这类情况?用jbuilder做开发要 GetWindowNext怎么老是返回NULL? 我想学java,但是,我现在只会c++? 急都急死了,快教教我如何用Resin配jsp服务器啊?? 请问哪里可以找到Delphi 6 Developer's Guide这本书? 请问VB中怎么把从ms sqlserver中查到的记录输出到其它库中?如foxpro …… http://www.ws.net.cn/cgi-bin/lb2/topic.cgi?forum=1&topic=6696&show=0快了看看,有没有你们喜欢的女生? 爽呀!!!Visual Studio.net实在是正点呀! 我想用delphi自带的Micorsoft help workshop做帮助行么,在delphi哪里呀,我没找到! 我打算按下一个按钮实现ctrl+space切换输入法的功能,可是不好使,大家帮我看看 在dreamweave ultradev下如何把ASP与本地服务器上的数据库连接起来。 请教,来者有份,200分大放送, 初学者关于Package的问题 再贴WebLogic Server 和 Weblogic Integration 有何不同,各是用来做什么的? 我在APPlication中开始处加上如下代码,在PB下运行时没问题,怎么编译后执行exe文件后老提示连不??为什么,请赐教!! 在静态切分窗口中,如何显示标题? 求教大虾:如何给软件加上licence限制 抗议CSDN帖子内容为楷体,同意者举手! 如何在画布上画一个带箭头的直线. *-->为对话框应用上妆!在线等待 [诚征交友]不诚勿扰,请条件适合男士入内 有谁用过Cute ftp上传软件,为什么一进行文件同步时,就出现404 object not find的错误 关于界面对象丢失的问题…… 请大家看看这个问题。 我真的很需要帮助。。。请问谁有360度可以许多张图片旋转的代码 360度全景特效 高分求树型结构源代码 现在出了本Jbuilder5的书。有没有谁有这本电子书啊? 高分求树型结构源代码 SDK问题 这句sql有问题吗? 关于驱动程序开发! 在SQL-SERVER中出现数据死锁的情况一般是什么,若是由多个用户同时向数据库更新数据而导致的死锁,解决此问题的办法有那些? 寻找源代码排版软件? 有没有用VC写过短信接收程序,我在接收中文时出现乱码。 请教大虾:用mideaplayer来播放一首歌,如何用progressbar来表示进度? 我想学习驱动程序的开发,请大家帮我推荐几本这方面的书? 绿色化学指的是什么? 生活中在哪里见到过小数?举个例子. 在注塑过程中模具内的空气需要排除吗?模具内的空气会对注塑有影响吗? 在地球上一物体收到的万有引力很大于起绕地球所需的向心力,那么多余的力去哪了,如果是重力的话,那么就说明重力和向心力是分开的,向心力不能当重力使.但如果是完全失重的话,那么向心 关于绿色化学随便得弄点东西,写小论文的 力学之父 甲、乙两家公司共有150名工人,甲公司每名工人月工资为1200元,乙公司每名工人月工资为1500元,两家公司每月需付给工人工资共计19.5万元.(1)求甲、乙公司分别有多少名工人?(2)经营一段 短语动词的用法 什么是小数?小数的小故事是什么?小数的概念是什么? 某工厂要招聘甲乙两种工种的工人150人,甲乙两种工种的工人的月工资分别为600元和1000元.现要求招聘乙种工种的人数不少于甲种工种人数的2倍,甲乙两种工种各招聘多少人时,可以使得每月所 关于一个动词短语的用法请问what we should do is to talk about.what we should do is talking about...这两句中talk about是动词短语,但是用在is后面时,应该这么用呢?类似的一句还有:this subject is mainly to talk abo 中国力学之父是谁 甲厂有工人120人,乙厂有工人150人,如果要使乙工厂人数是甲厂的2倍,那么需要从甲 厂抽调多少人到乙厂? look引导的动词短语级用法, 请问保留2位有效数字和保留2位小数是一样意思吗?举个例子 某工厂计划招聘A,B两个工种的工人120人,已知A,B 两个工种的工人120人,已知A,B两个工种的工人的 月工资分别某工厂计划招聘A,B两个工种的工人120人,已知A,B两个工种的工人120人,已知A,B两个工种 动词短语的用法同动词一样吗 生活中有关小数的例子 质量相等的木块和铁块,谁的体积大 什么是绿色化学?为什么提倡绿色化学? 我想杀了阿基米德和牛顿怎么办?我控制不住情绪! 【答案选BCD,请逐个选项说明原因】如图所示,从地面上A点发射一枚远程导弹,在引力作用下,沿ACB椭圆轨道飞行击中地面目标B,C为轨道的远地点,距地面高度为h.已知地球半径为R,地球质量为M,引 谁能告诉我performance的用法(特别是由它组成的动词短语的用法) 平时说的%70水+%30酒精,这里的百分比是质量比还是体积比还是别的 19.如图所示,a为地球赤道上的物体;b为沿地球表面附近做匀速圆周运动的人造卫星;c为地球同步卫星.关于a、b、c做匀速圆周运动的说法中正确的是A.角速度的大小关系为wa=wc>wb(w为角速度) 绿色化学是什么 我们常说的酒的度数是体积百分数还是质量百分数? 18.2010年10月1日18时59分57秒,搭载着嫦娥二号卫星的长征三号丙运载火箭在西昌卫星发射中心点火发射,卫星由地面发射后,进入地月转移轨道,经多次变轨最终进入距离月球表面100公里,周期为11 重量7.8 体积1这个比值表示的意义是什么 (a+b)(a-b)怎样解释(用生活中的例子) 用蒸馏水润湿后的PH试纸测盐水,稀盐酸,氢氧化钠的值会比以前的增大还是减少 动词短语和短语动词有区别吗 举个生活中的例子! 在一次人才招聘会上,有A、B两家公司分别开出它们的工资标准:A公司允诺第一年月工资数为1500元,以后每年月工资比上一年月工资增加230元;B公司允诺第一年月工资数为2000元,以后每年月工 什么是绿色化学 牛顿发现万有引力的过程我认为牛顿是因为有一天坐在苹果树下打瞌睡,被树上成熟的苹果掉下来打到,就让他发现了万有引力的存在. 某招聘会上有甲乙两公司 甲公司允诺第一年月工资为1500元,以后每年月工资比上一年月工资增加230元;乙公...某招聘会上有甲乙两公司 甲公司允诺第一年月工资为1500元,以后每年月工资比上一 什么叫“绿色化学”? H2,NA个H原子,那么H2的物质的量是如何计算? (1/4)在一次人才招聘会上,甲,乙两家公司开出的工资标准分别是;甲公司;第一年月工资1500元,以后每...(1/4)在一次人才招聘会上,甲,乙两家公司开出的工资标准分别是;甲公司;第一年月工资 什么是“绿色化学”? 牛顿发现"万有引力"的详细故事 在一次人才招聘会上,有A、B两家公司分别开出它们的工资标准:A公司允诺第一年月工某招聘会上有甲乙两公司 甲公司允诺第一年月工资为1500元,以后每年月工资比上一年月工资增加230元;乙公 比值表示的意义是什么 3.4NH3的物质的量为 mol 含有质子数为 个,含有电子数 NA 含有 NA个H,含有 个N原子?给的答案第二个是2NA 第三个是2NA.用的是0.2*10=2NA,请问这个步骤的依据是什么?请具体说明,讲的容易懂的给分~17g 在人才招聘会上,某公司承诺录用后第一年每月工资为3000元,以后每年的月工资比上一年月工资增加300元(1)如果某人在该公司连续工作n年,他在第n年后的月工资是多少?(2)如果这个人期望 用绳系着一个浸没在水中的实心金属球,金属球的体积是2*10-3m3,绳能承受的最大拉力是155N,将金属球慢慢向上提起.金属球在露出水面体积多大时,绳会断(水的阻力不计,P金属=8000Kg/m3,G=1 如果已知Na+的物质的量是5.00mol,则Na2CO2.10H2O的:求物质的量是多少mol 人造地球卫星近地点与远地点线速度比为什么不是半径反比的开根号? 食品企业实习总结 3000~4000字 0.2molH2中含有的氢原子个数为多少,6.02*10^22个NA+的物质的量为几MOL408+10^23 0.1mol 谁能给我解释下啊, 描写菊花的诗句和带有植物的成语 用绳系着一个浸没在水中的实心金属球,金属球的体积是2×10-3m³,绳能承受的最大拉力是155牛将金属球慢慢向上提起,金属球露出水面体积多大时,绳会断.(水的阻力不计,ρ金属=8×1000千克/m&# 过点(2,-2),且与双曲线x^2/2-y^2=1有共同的渐近线的双曲线的方程是? 描写秋天菊花的句子 求模具实习总结关于模具拆装及修理的文章 .. 注塑模具按结构分为哪几种?注塑模具浇口分为哪几种? 为什么要研究绿色化学 将一实心金属块用绳拴住挂在弹簧测力计上,在空气中弹簧测力计的示数是1.96N,再把金属块浸没在水中,这时弹簧测力计的示数为0.98N;求:这个金属球的密度是多大? 什么注塑模具属于双分型注塑模具
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘