| VB问题全功略(40) [查找本页请按Ctrl+F] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 196、如何一次关闭 MDIForm 内的所有子表单? 197、按下 CommandButton 之前后,如何让鼠标停留在同一个物件中? 198、您用过【符号字型】吗? 199、避免使用没有效率的 IIF Function 及 Choose Function! 200、如何用TextBox打开和保存文件 以下这段程序可以让您一次关闭 MDIForm 内的所有子表单,首先在 MDIForm 中建立一个 Menu,假设取名为 mnuCloseAll,则程序码如下: Private Sub mnuCloseAll_Click() 197、按下 CommandButton 之前后,如何让鼠标停留在同一个物件中? 在一般表单输入画面中,使用者输入了一笔资料后,会去按 '存档' 按钮,当然他也可能去按任一个按钮,但是不管他是按那一个按钮,如果您不在程序中将鼠标移到下一笔输入的第一个栏位,或其他特定的栏位,使用者便必须自己去移动鼠标,如果这个使用者是使用键盘输入,那更是麻烦!他必须使用 Tab 键一个物件一个物件移动光标。 下面这个范例将示范如何做到在按下 CommandButton 之前后,让鼠标停留在同一个物件中!请在表单中放入二个 TextBox 及一个 CommandButton,不必更改任何属性,将以下之程序复制到表单中: Dim mCtl As Control Private Sub Command1_Click() Private Sub Text1_GotFocus() Private Sub Text2_GotFocus() 有时候您是否觉得,同样的开发环境,为什么 Microsoft 写出来的程序,画面总是在某些地方看来特别一点点,例如 CommandButton 的样子就是和我们自己写的不一样,您总是感觉他们的 CommandButton 上放的是图形,其实,在 CommandButton 上的不是图形,只不过是某一种字型而已!而且这些字型在每一台 Windows95 / Windows98 / NT 上都有,如果没有,您只要安装了 IE4 或 IE5 就有了。 举个例子好了,如果您要在 CommandButton 上放一个向右或向左的箭头,不使用图片的话,您会使用【>】【<】,但是您在 Microsoft 写出来的程序中看到的是【4】【3】,为什么呢?因为它用的是一种符号字型,就是 Marlett 字型的 3 【4】及 4【3】! 这些字型在那里呢?在本页的下方列了七种符号字型,每一种字型分别列出了 0-9 / a-z / A-Z 共 62 个字元,如果在某些栏位中您看到的仍然是 0-9 / a-z / A-Z,表示您的电脑中没有这种字型,当然,符号字型不只这七种而已,如果您想知道您的电脑中暗藏多少种符号字型的话,方法如下: 在任何可以设定字型的应用程序中,叫出【字型】设定对话框,我们就用
VB 的开发环境来举例好了: 这些符号字型有的非常精美,下一次要使用图片之前,记得找一找符号字型,使用符号字型不但美观,而且可以避免使用图片,让程序瘦身! 注:符号字型范例
199、避免使用没有效率的 IIF Function 及 Choose Function! IIF Function
的功能是根据逻辑判断,返回给定的二个值中的一个 (二选一); IIf(expr, truepart, falsepart) 这二个函数乍看之下,好像和 IF....Else IF....Else....End IF 是一样的,没错,结果好像是一样的,但是事实上 IF....Else....End IF 却比较有效率和安全多了,为什么呢? 1、IIf 会计算 truepart 以及 falsepart,虽然它只返回其中的一个,所以您应该要留意这项副作用, 2、Choose
会计算串列中的每个选择项,即使它只返回一个选项值。所以您应该注意这项副作用, 而 IF....Else....End IF 却没有上述的缺点! 所以,虽然 IIF 及 Choose Function 的程序码看起来相当简洁,但效率不见得比较好,最重要的,是可能还会导致错误产生。我的建议就是:能不用就不用! 作为轻量级的控件,TextBox控件使用率很高,但相关的资料极少谈及如何用TextBox控件打开和保存文件,大都采用回避的态度,对VB初学者带来很多不便。笔者近日为友人做一个英文朗读软件,按友人的要求,软件要能象MS的记事本那样能打开和保存文档。其实实现方法并不复杂,现将心得写出来,希望对大家有帮助。如果您有更好的方法,请来信:handanfang@163.net。 |
|
[木瓜软件工作室] 整理 |