Visual Basic(以下简称VB)是Windows下的一个面向对象的可视 化开发环境,功能非常强大。下面笔者就自己在实际软件开发过程中 获得的一些经验和大家作以交流。
提示钮的实现
如果自己留心一点儿,一定注意到了Microsoft公司的一系列产品 (如Word、Excel甚至B 本身),都为其应用程序的命令按钮提供了信息 。如用户不清楚软件中所列图标按钮的功能, 可将鼠标移至该图标按 钮上,过一会儿在其下方就会显示一信息,说明它的作用,而鼠标移开 后,提示即消失。
图1
这里我们利用mousemove这一事件来实现。先将Label1.visible 设置为False再输入以下代码。
Private Sub Command1_MouseMove(Button As Integer,Shift As Integer,X As Single, Y As Single) Label1.Visible=True End Sub Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single, As Single) Labl1.Visible=False End Sub
若按钮放在Frame中,则将Form_mousemove事件改为Frame_mousem ove即可,或干脆二者都写。
背景设置
我们进行软件设计时,功能实现当然是第一位的,但人机界面也绝 不容忽视。有时我们希望为其加一个比较漂亮的背景,且自始至终都 在屏幕上。我们可让一窗体一直不释放,但这样效果并不好。VB提供 的MDI表单(Multiple Document Interface即多文档界面)是一个包含 多个子表单的容器,是应用程序的背景表单。我们可插入一MDI表单( 选Insert、MDI Form即可),这样就使应用程序具有了MDI功能。在MDI 窗体Picture属性中加入想要的图片,然后把其它表单的MDIChild属性 设置为True,使它们成为MDI主菜单的子表单。一个应用程序只能有一 个MDI表单,但可有多个各不相同的非MDI子表单。这一点在Word、Exc el中都有体现。如Micrs oft Excel中包含工作表和图表子菜单,作为 一些普通对话框的宿主。
Tab键与回车键
①用过VB的人一定知道,用文本框Text输入时很不方便,因为VB本 身并不支持回车而自动跳到下一个控件。这一点可用Keypress事件来 解决。
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then text2.SetFocus 13是return键 End Sub
②另外,文本框在用户按回车键时会发出蜂鸣声,如何避免呢?输 入以下代码:
Private Sub Text eyPress(KeyAscii As Integer) If KeyAscii=13 Then KeyAscii=0 End If End Sub
即可避免。而且用户按回车键常常有一定的目的跳到下一个 控件,我们可让Tab键模拟回车键,只要在Keyascii=0前回上一句sendk eys"{Tab}"即可。
快捷菜单的实现
利用鼠标右键弹出菜单功能简单方便。如在Win95资源管理器中, 选中一文件目录或文件后按右键即弹出一菜单,可选"发送"项,很方便 拷贝至A盘;Desktop上按右键亦可方便修改桌面属性,这些都无疑极大 程度地方便了用户。我们利用VB编程时,也可实现这一功能。在菜单 编辑器中定义好菜单文件后,对鼠标右键编写对应的响应代码即可(必 须有下一级菜单)。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)Private Sub Form_MouseDown(Button As Integer,Shift As In
teger,X As Single, As Single)If Button=2 Then PopupMenu mhel
p
End Sub
若想原菜单不显示在屏幕上,可将其Visible设为False(如本例中 为mhelp)。图3
滚动条
笔者认为,VB4.0中提供的滚动条功能还不够完善,过程控制都得 用户自己去实现,如要用滚动条去控制文本框或标签,我们可将其Inde x属性改为0,利用数组控制下标来移动(如Tex( text).move X,Y),再 将其Visible作相应的改变即可。但如果开发程序较大、控制较多的 话,则需要把它们从内存中释放(即Unload),为程序顺利运行留下更多 的内存空间。此时需小心控制其下标以正确运行。
按钮名的动态变化
由于桌面空间有限,我们不可能同时在一屏幕上放很多控件,否则 会显得特别拥挤。但我们可从Foxpro Wizard开发的程序中得到启示 。如"追加"按钮揿下去后,即变为"存盘"或"放弃"。我们可将命令按 钮的Caption(或Text)属性变掉!如Command1的Caption开始设置为"追 加",输入以下代码:
Private Sub Command1_Click() If Command1.Caption="追加" Then Command1.Caption="存盘" ElseIf Command1.Caption="存盘" Then Command1.Caption="追加" End If(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
使用Windows本身提供的应用程序
在开发的实际应用程序中,我们可能要用到诸如计算机、书写器 、画笔等Windows提供的工具。要实现这一点其实很方便。如要使用 计算器,只要输入以下代码即可:
Private Sub Command1_Click() call=Shell("c:windowscalc.exe",1) 可修改对应路径 、文件名 End Sub
这一点,如和上面提到的快捷菜单结合起来则实现