您现在正在浏览:首页 > 职教文章 > 职教论文 > VB实验课编程技巧

VB实验课编程技巧

日期: 2010-4-29 10:11:41 浏览: 8 来源: 学海网收集整理 作者: 陆红 王旭东 王洪肖

【摘 要】本文在VB实验课的角度,为使学生更加深入地掌握编程技能,介绍了几个常用和典型的编程技巧。Visual Basic利用可视化技术进行编程,避免了面向过程语言的许多细节。因此,学生比较容易掌握VB程序设计的基本知识。就VB实验课而言,应当尽可能多的进行编程的练习。本文介绍几个较为典型的编程技巧,希望能对学习VB的同学有所帮助。

学海网

  【关键词】 VB 实验课 编程技巧
  
  一、创建自定义的光标
  
  在设计一个应用程序时,Visual Basic许多控件的MousePointer属性允许程序员在预先定义好的若干个鼠标光标形状之中任选其一。但在应用程序中,有时候希望显示一个不同于预定义形状的光标。那么可以添加代码来改变控件的MouseMove和DragOver事件。下面用实例来说明当鼠标指针移动到一个控件上时,如何改变成不同的形状。
  首先创建窗体Form1。在Form1上添加一个文本框控件Text1。在Text1控件的DragIcon属性的设置对话框中选择一个指针形状(.ICO文件)。
  将如下代码添加到Text1的MouseMove事件中:
  Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Text1.Drag 1 'icon on
  End Sub
  将如下代码添加到Form1的DragOver事件中:
  Private Sub Form_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
  Text1.Drag 0 'icon off
  End Sub
  运行此程序。将鼠标指针移动到该文本框控件上时,程序将把所选中的.ICO文件作为默认的鼠标光标;将鼠标指针离开该控件时,光标则会自动恢复为默认的形状。
  其他控件也可以如此设置,包括没有MousePointer属性的控件。
  
  二、在窗体上单击鼠标右键弹出一个快捷菜单
  
  在操作系统和应用软件的视窗中,点鼠标右键时,会弹出一个快捷选单。Visual Basic程序里也可以实现类似的功能。
  首先,利用VB的菜单编辑器(Menu Editor)编辑所希望弹出的菜单及子菜单,并将主菜单的Visible属性设置为False,将其以下各级菜单的Visible属性设置为True。
  假设主菜单名为“文件”,一级下拉菜单包括“新建”、“打开”、“关闭”三个菜单项。在窗体Form1(也可以是任意控件)的MouseDown事件中编写如下代码:
  Private Sub Form-MouseDown(Button As Integer, Shift As Integer,X As Single, Y As Single)
  If Button = vbRightButton Then
  文件.Visible = True
  PopupMenu 文件
  End If
  End Sub
  运行,在窗体上单击右键,会弹出快捷菜单,菜单项包括:“新建”、“打开”、“关闭”。
  
  三、给PictureBox控件加滚动条的方法
  
  Visual Basic的图片框(PictureBox)控件可以在其中加载图片。但是,往往所加载的图片比图片框大,只能看到图片的一部分,那么,可以在图片框内部加上水平和垂直滚动条,利用滚动条来显示看不到的图片。具体方法如下:
  首先单击菜单栏上的“工程(Project)”菜单,在弹出的下拉菜单中单击“部件(Components)”,选中其中的“Microsoft Common Dialog Control 6.0”,完成加载工作;然后画一个PictureBox,采用默认名字Picture1,再在Picture1上面画一个PictureBox,默认名字为Picture2,设置:Picture2.AutoSize=TRUE;接着,加上水平和垂直滚动条,默认名字分别为:HScroll1,VScroll1;加载图形到Picture2上;最后,在窗体中引入其它控件:一个按钮(Command),默认名为Command1和一个“Microsoft Common Dialog Control”,默认名为CommonDialog1。具体代码如下:
  Private Sub Form-Load()
  Picture2.Left = 0:Picture2.Top = 0:Picture2.Width = Picture1.Width
  Picture2.Height = Picture1.Height
  VScroll1.Min = 0:HScroll1.Min = 0 :HScroll1.Min = 0
  VScroll1.Max = Picture2.Height- Picture1.Height
  HScroll1.Max = Picture2.Width- Picture1.Width
  If HScroll1.Max〈 0 Then HScroll1.Enabled = False
  If VScroll1.Max〈 0 Then VScroll1.Enabled = False
  End Sub
  Private Sub Command-Click()
  On Error GoTo ErrExit
  CommonDialog1.Filter = “Bitmap file(*.bmp)|*.bmp|All File(*.*)|*.*”
  CommonDialog1.FilterIndex = 1:CommonDialog1.ShowOpen
  Picture2.Picture = LoadPicture(CommonDialog1.filename)
  VScroll1.Min = 0:HScroll1.Min = 0
  VScroll1.Max = Picture2.Height- Picture1.Height
  HScroll1.Max = Picture2.Width- Picture1.Width
  If HScroll1.Max〈 0 Then HScroll1.Enabled = False
  If VScroll1.Max〈 0 Then VScroll1.Enabled = False
  ErrExit:
  End Sub
  Private Sub HScroll1-Change()
  Picture2.Left =-HScroll1.Value
  End Sub
  Private Sub VScroll1-Change()
  Picture2.Top =-VScroll1.Value
  End Sub
  该程序通过点击Command1按钮,在弹出的对话框中选择一个图形文件加载到Picture2中,利用水平和垂直滚动条就可以实现图片的滚动。
  
  四、文本框中文本的某一特定字符或字符串同时高亮显示的方法
  
  由于普通TextBox控件不支持不连续字符串的同时高亮显示,所以选择RichTextBox控件。单击“工程(Project)”菜单,在弹出的下拉菜单中单击部件(Components)选项,从弹出的对话框中选择“Microsoft Rich Textbox Control 6.0”复选框,确定加载RichTextBox控件。
学海网
  新建一个工程,在窗体(Form)上添加一个RichTextBox控件和两个Command(按钮)控件,都采用系统默认的Name属性值;设置RichTextBox的Text属性值为空,Command1和Command2的Caption属性值分别设为“输入文本”和“选择字符串”。添加如下VB代码:
  Private Sub Command1-Click()
  Dim str As String:Dim Text As String:str=″输入文本″
  Text=InputBox(str):RichTextBox1.Text=Text
  End Sub
  Private Sub Command2-Click()
  Dim str As String:Dim Text As String:Dim Position As Integer:Dim Lenth As Integer
  str=“输入要高亮显示的字符串”:Text=InputBox(str)
  If Text〈〉“” Then
  Position=InStr(RichTextBox1.Text, Text)-1
  Lenth=Len(Text)
  RichTextBox1.SelStart=Position
  RichTextBox1.SelLength=Lenth
  RichTextBox1.SelColor=RGB(255,0,0)
  Do While InStr(Position+Lenth+1, RichTextBox1.Text, Text)〈〉 0
  Position=InStr(Position+Lenth+1, RichTextBox1.Text, Text)-1
  RichTextBox1.SelStart=Position
  RichTextBox1.SelLength=Lenth
  RichTextBox1.SelColor=RGB(255,0,0)
  Loop
  End If
  End Sub
  运行程序,单击“输入文本”按钮,在弹出的对话框中输入一些文本,确定后,刚刚输入的文本将显示在RichTextBox中;再单击“选择字符串”按钮,在弹出的对话框中输入希望高亮显示的字符串,确定后,RichTextBox中相应的字符串将以红色高亮显示。
  五、关联文件列表框、目录列表框和驱动器列表框的方法
  一个对话窗体,包含驱动器列表框、目录列表框和文件列表框,并能实现三者的同步操作,在VB中可以通过Path属性的改变引发Change事件来实现。
  首先,在目录列表框(Dir1)的Change事件中加如下代码:
  Sub Dir1-Change()
  File1.Path=Dir1.Path
  End Sub
  该事件过程使窗体上的目录列表框(Dir1)和文件列表框(File1)产生同步。因为目录列表框Path属性的改变将产生Change事件,所以在Dir1-Change事件过程中,把Dir1.Path赋给File1.Path,可以产生同步效果。
  其次,在驱动器列表框(Drive1)的Change事件中加如下代码:
  Sub Drive1-Change()
  Dir1.Path=Drive1.Drive
  End Sub
  该过程使驱动器列表框和目录列表框同步,从而使三种列表框同步。
  
  参考文献:
  [1]刘圣才,李春葆.Visual Basic 6程序设计导学.清华大学出版社,2002.
学海网

返回顶部