VB6.0初学者的10个编程小技巧
1、如果一行程序太长,能不能换行?
VB的程序代码是允许换行书写的,只要在每次换行的最后一个字符加上换行字符“_”就可以了。例如:
Sub PicMove()
Frm.Picture2.Left = Frm.Picture1.Left + _ ’加上换行符
Frm.Picture1.Width
End Sub
2、 如何在设计的时候清空存在的图片?
用鼠标点中该图片,在属性窗口中选中Picture属性,按Del键便可清空图片。
3、 Visual Basic 如何注释一段较长程序代码?
VB注释程序代码的符号是“注释:”,只要在某行程序前面加上“注释:”,就可以注释该行程序。但如果程序代码很长的时候,一行一行地注释令人觉得难以忍受。VB本身提供了这个功能,在主菜单“视图”选项的“工具栏”下,选中Edit,VB的界面会出现一排工具按钮,其中的手形图标按钮后的两个按钮用于“设置注释块”和“解除注释块”。
4、怎么实现鼠标一移上去就出现小提示窗口的功能?
VB 里每个控件都有ToolTipText属性,只要加上一行程序就可以了。
例如:Label1.ToolTipText = "这是提示!"。
5、 如何获得当前软件的运行磁盘目录和命令行参数?
VB里面有个系统对象叫App。App.Path就是当前软件的运行目录。而命令行参数存放在一个系统变量里面,叫Command。程序语句如下:
Label1.Caption=App.Path
Label2.Caption=Command$
6、我想换掉鼠标显示的形状,怎么做?
VB提供的系统控件一般都有MousePointer和MouseIcon属性。我们可以寻找自己喜欢的*.ICO,*.CUR文件,实现的程序如下:
Screen.MousePointer= 99 ’用户鼠标类型
Screen.MouseIcon=LoadPicture("C:\ABC\1.ICO") ’读取鼠标的图标文件
7、如何设置程序的错误出口?
On Error语句用于程序的错误出口处理。一般的处理方法有两种:
1) 遇到错误跳转到某一行程序去执行,On Error GoTo someline。
例如:
On Error GoTo ERR_LINE
...
Label1.Caption=“正确执行”
ERR_LINE:
...
Label1.Caption=“出错了!”
VB编程的必备技巧
对编程者来说,VB很容易上手,但要深入、灵活地驾驭它还要下一番功夫。笔者在这里介绍几个较为典型的编程技巧,希望能对广大VB爱好者有所帮助。
一.怎样创建自定义的光标
1.当在设计一个应用程序时,Visual Basic允许程序员将许多控件的MousePointer属性设计成12个预先定义好的鼠标光标之一。然而,有些程序员或许会希望显示一个预定义形状之外的光标。本文说明如何创建一个不同的鼠标指针(光标),包括为一个没有MousePointer属性的控件创建光标。
要在Visual Basic应用程序中将光标(鼠标指针)改变成个不同的形状,可以添加代码来改变希望监视的控件的MouseMove和DragOver事件。
MouseMove事件所包含的代码用于触发该控件的Drag方法。当鼠标在被选中的控件上移动的时候,轮流显示新的鼠标指针。当鼠标指针离开该控件时,则DragOver事件被触发。在Visual Basic程序中,可以重新复位此Drag属性,以便以前的鼠标指针能够被再次显示出来。
2.下面的样例程序实现当鼠标指针移动到一个文件列表框控件上时,将其改变成不同的形状。
首先采用缺省的方法建立Form1。在Form1上添加一个文件列表框控件,采用缺省的方法建立File1。将File1控件的DragIcon属性设置为所选择的.ICO文件。
将如下代码添加到File1的MouseMove事件中:
Private Sub File1-MouseMove(ButtonAs
Integer, Shift As Integer, X As Single, Y As Single)
File1.Drag 1 ''icon on
End Sub
---- 将如下代码添加到Form1的DragOver事件中:
Private Sub Form-DragOver(Source As Control,
X As Single, Y As Single, State As Integer)
File1.Drag 0 ′icon off
End Sub
按下F5功能键执行此程序。得到的运行结果是:将鼠标指针移动到该文件列表框控件上时,程序将把所选中的.ICO文件作为缺省的鼠标光标;将鼠标指针离开该控件时,光标则会自动恢复为缺省的形状。
二.怎样在窗体上点鼠标右键产生一个弹出式选单(PopUp Menu)?
大家都知道,在Windows95/98/2000的桌面和许多流行软件的视窗中,当我们点鼠标右键时,会在鼠标的当前位置弹出一个快捷选单。许多爱好编程的朋友是不是也希望能在自己的程序里有类似的功能呢?其实,这并不困难。笔者经过一番努力,在VB下找出一个通用的方法,供大家分享。
要实现上述功能,需分两个步骤:
1. 利用VB的选单我器(Menu Editor)我你希望弹出的选单及子选单,注意,要将选单的Visible属性设置为:False。
2. 在窗体(Form1)的MouseDown事件中编写程序,来激发我好的选单,假设选单名为PopMenu,程序源码如下:
Private Sub Form-MouseDown
(Button As Integer, Shift As Integer,
X As Single, Y As Single)
If Button = vbRightButton Then
PopMenu.Visible = True
PopupMenu PopMenu
End If
End Sub
上述方法是针对窗体的,我们也可以针对任意控件,用鼠标右键点击控件时,也弹出一个快捷选单。方法也很简单,只要把上述代码放到相应控件的MouseDown事件中,就可以了。
三.怎样动态地在窗体上判断某区域内是否有控件存在?
在笔者的一个小程序中,想在窗体的某个区域输出数据,这就要求在这个区域内不能有其他控件存在,那么,怎么才能知道在窗体的某个区域内,是否有控件存在呢?
为了判断在窗体的某个区域中,是否含有控件,我们可以利用以下VB程序来实现:
Function GetControl(x1 As Single, y1 As Single,
x2 as Single, y2 as Single) As Control
Dim Control as Control
For Each Control In Form1
With Control
If (x1 〈= .Left) And (x2 〉= .Left) And _
(y1 〈= .Top) And (y2 〉= .Top) Or _
(x1 〈=.Left + Width) And (x2 〉= .Left + Width) And _
(y1 〈= .Top) And (y2 〉= .Top) Or _
(x1 〈= .Left) And (x2 〉= Left) And _
(y1 〈= .Top + Height) And (y2 〉= .Top + Height) Or _
(x1 〈= . Left + Width) And (x2 〉= .Left + Width) And _
(y1 〈= .Top + Height) And (y2 〉= .Top + Height) Then
Set GetControl = Control
Exit Function
End If End With
Next
Set GetControl = Nothing
End Function
注:(x1, y1)和(x2, y2)分别为选定矩形区域的左上角和右下角点的坐标值。
该程序通过计算窗体上所有控件的四个角的位置来判断控件是否与选定区域相交,并返回相交的控件。