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

用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时,因为这时的回车键是起换行的作用。
用VB尝试新的界面风格 用VB建立字符界面的控制台程序 用VB快速读取TextBox第N行的数据 用VB 设计VCD播放器 用VB设计更好的用户界面 用VB设计聚焦框程序 用VB实现“ICQ”式的启动欢迎画面 用VB实现全屏幕图形界面及动态功能提示 用VB实现任务栏右下角的小图标 用VB制作常居上层的浮动工具箱 用VB制作即时动态按钮 用VB作浮动式图标提示按钮 用Visual Basic编写托盘程序 用Visual Basic窗体背景花纹的实现 用Visual Basic设计窗体背景花纹 用Visual Basic设计更好的用户界面 用Visual Basic设计三维图形按钮 用VisualBasic制作半透明窗体 运行时改变控件大小的两种方法-VB资料 运行中隐藏/显示窗口标题栏-VB资料 在ListBox适当设定水平滚动条的宽度-VB资料 在VB中利用API实现窗体的平滑显示 在vb中让控件大小和位置随着表单的大小成比例变化的方法 在VB中实现闪动标题栏 在VB中实现位图的透明放置 在VB中使用数据窗体设计器插件 在VB中制作单独程序封面的两种方法 在VB中制作透明按钮 在Visual Basic中如何拖动窗体或控件 在Visual Basic中显示动态运行进度 在菜单中加入图标 -VB资料 一个老问题 ?ACCESS2000的数据库有几行坏了,无法用ACCESS修复/无法删除,一读到该行ACCESS就直接退出,怎么办? 各位,感觉学数学难不难? 壹?ACCESS2000的数据库有几行坏了,无法用ACCESS修复/无法删除,一读到该行ACCESS就直接退出,怎么办? 号外:今天终于卖了侯捷的Inside The C++ Object Model ,休息时可以翻番,为了祝贺特灌水100 谁能给我连 接sql2000数据库数据原的原代码===火急!!! 高手帮忙,如何让我能用jbuilder5? 请问用Perl编写用户交互程序 请问各位大哥,上海的高程考试在哪里报名啊? dcom 服务器关闭时怎能捕捉异常 三戒,有请~~~ 谁知道websphere的试用版怎么做掉? 打印DataReport时怎样用API改变系统的纸型,急急急急急急急急急!!!! 新来的~~来报到了~~只能送20分~~希望大家不嫌弃~~ 请成功使用JBuilder5的朋友指教!! 激情放送 五位QQ号,100块,你会要吗? 555~~~~挂了PASCAL挂了,5555~~~~我学不好DELPHI 了5555谁帮我呀!!! 有编过游戏修改器的高手吗? jinesc领分~~~ 如何使UpDown每次增加或减少0.5? 有个问题很困惑,请教 上傳后,服務器端如何接收? 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!! 我快神经了,求救 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!!! 别笑我傻,又有简单问题 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!! 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!!!!!!! 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!!!! 大家都谈谈建立什么样的目录结构能更好的管理硬盘里的东东 lilo 如何设置??请赐教!! 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!!!!!!1 mts是什么? mts是什么?? 学习汇编要什么基础,要看什么样的书,有没有好的汇编的电子参考书下载呢? 腾讯的qq怎么不好用了? 有CCNA,Scjp2,高程的计算机本科生能卖多少?(答者有分,只能给33分,没办法) word的表格问题 如果开另外一个线程来进行注册码检验,是否比较难CRACK? 请问高程考试考试的难度 怎么让程序启动的时候接受参数? mts是什么??? 我也调查:这里有多少冠名以“独孤”的,为何独孤???? 菜鸟SOS 个人论:编写程序方法论(原作者,huangbeyond) 向流版主学习,戒网!戒网!成天在网上瞎转,不如下去加强学习,碰到问题再上网寻求答案,天天在网上泡得久了,看到各大PB网站的编程技巧都有些视而不见了.....到PB论坛很多人都象到自己喜爱的聊天室了,到论坛好象就是来聊天一样.....戒网!戒网! 如何编写一个集成Ms Word的控件,能够处理WEB上的文件排版 怎么不能下载呢? 我是女孩,有人信吗??嘻嘻~~ 谁知道关于用vc编游戏的书,请各位大虫们介绍介绍好吗?谢谢了!!!!!!!!!! 我们经常在一起玩用英语怎么说 英语翻译像四川九寨沟,张家界,安徽黄山,桂林山水,等等 英语翻译词组 梦想中的旅行 可不可以用dreamy trip?dreamy 不是有 虚幻的 模糊的意思嘛? "我们经常在一起"用英语怎么说? "周末去旅游好吗?"的英文翻译是什么? “旅行很快就结束了”英文翻译要用过去时! 亲爱的我们永远在一起好吗?用英语怎么说 英语翻译 翻译下就行 我看看大意3. Results and discussions3.1. Extraction kineticsThe characteristics of the bed and the particles were: particle average diameter of 3.9×10−4 m, true particles density of 1524 kg/m3, apparent bed de 翻译英文:天气变冷,注意保暖. 我要我们永远在一起 帮我翻译 我要我们永远在一起单独的永远在一起 英文是什么 我们用了一周的时间在桂林欣赏了美丽的风景英文翻译 天气变冷了 英汉互译 我们永远在一起 用英语怎么说 我喜欢那美丽的风景!用英语怎么说? 天气变冷了 用英语怎么说 It is 我们永远在一起”,用英语怎么说呀] 我们用一周的时间在桂林欣赏了美丽的风景英文翻译 用英语翻译 :这的天气突然变冷, 让我们在一起用英语怎么说 我将站在巴黎铁塔的最高层去欣赏巴黎美丽的风景 用英语翻译不要拿机器翻译 英语翻译英语翻译:如果吃药之后还没好,我就带你去医院看病. 问:你在那里读书?英语怎么说 不知道以后我们会不会在一起用英语怎么说? 英语翻译希望哪位达人帮我翻译.事后会追加分值.摘要:发展旅游电子商务不仅是中国旅游业自身发展需要,也是信息时代中国旅游业面临国际旅游业竞争的必需.通过分析中泰旅游电子商务发 帽子的英语怎么读, 英语翻译求英语翻译成在线等1.仅以此画表示我的愤怒 英语翻译我觉得,最理想的度假地一定是一个美丽的海滨城市,那里要有充足的阳光,柔软的沙滩和多姿多彩的海滩派对.还要有很多美女帅哥,数不清的椰子树以及一整天都放不完的动听音乐.我 学霸用英文怎么读,学渣呢? 英语翻译 现在他们正在看一张他们教室的画. 旅游新热点 用个英文翻译 昆虫英语怎么读?给好评 自己画的画 英文翻译 最热门的旅游景点在哪里?风景旅游景点最多旅游人数是哪里? 生物用英语怎么读, 你喜欢哪一类型的画?求英语翻译 上海热门旅游景点有哪些? 香港是特别行政区用英语怎么说 英语翻译:你明天和他一起来上海吗? 英语翻译“你越轻视我,我越要游得快”.关键是“越---越---”句式 他去香港了 英语怎么说急用!写了! 英语翻译亲们,最近想跳槽到一家鞋企,人家要英文简历.我现在想知道报价员的英文该怎样翻译的.如果您是这行的就更好,希望能得到您的指点, 求“去上海一定要去东方明珠电视塔游玩”的英文翻译,关键词include 这周去香港 英语怎么说 英语翻译想翻译好报价单上交,该去哪里翻译啊 你给了我一次愉快地旅行 英文翻译 香港用英语怎么说 英语翻译注意:请用人脑翻译 帮忙用英语翻译一句话 “一次遥远的旅行” 我希望再去一次那里用英语怎么说?用 过去时态 说啊. 英语翻译是以What's —— —— —— this computer 英语翻译我相信你在中国将会有一个美好的旅行! "和某人在一起"用英语怎么说? 初一英语翻译:价格合理 英语翻译 进行一次家庭旅行 "与某人在一起"用英语怎么说?^-^ 旅游景点英文翻译 英语翻译是7个词语和成的 没有人愿意和他呆在一起用英语怎么说? 英语翻译先是关于九寨沟滴1.五花海2.五彩池3.我们路过了许多景点.(注意哈,过去时)4.熊猫海5.诺日朗瀑布6.树正寨还有一句:从山脚爬到山顶一共有3800米,但我和爸爸还是坚持爬了上去, 英语翻译To minimise ATM fees,withdrawal the maximum allowed each transaction,usually 20 banknotes or 20000 baht.Your personal daily withdrawal limit will be enforced if less than the equivalent of 20000 baht.If you intend to bring Travellers Cheq
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn