VB 作为应用最广泛的可视化编程语言,但是不知者会问:VB 到底能干什么呢?我肯定的回答:VB没有什么不能干的,从设计完美的界面到利用外部应用程序的对象、从处理文字和图象到数据库的使用,它都能够完美的提供完成这些工作的要求,更重要的是它的简单实用是广大学习编程人员的首选条件。笔者近日也感受到了 VB 带来的快乐。今天就请菜鸟级的朋友跟我一起编一个简单的文本浏览器。设计过程如下:
1. 首先启动 VB ,新建一个“标准 EXE ”工程。
2. 打开“工程”菜单下的“引用”子菜单,选择“Microsoft Scripting Runtime”后确定。
3. 在窗体 Form1 上建立一个文本框(TextBox)、一个标签(Lable)和一个 Timer 控件,并在属性窗口中设置文本框的属性 MultiLine 为 True 、ScrollBars 为 2 - Vertical、Text 为空 ,标签的属性 AutoSize 为 True 、BackColor 为 &H00FF80FF& 、Caption 为 “与我联系”(本属性可以随意填写)、MousePointer 为 99-Custom 、MouseIcon 可以设置成一个手形光标,Timer 控件的属性 Interval 为 500 ,设置窗体 Form1 的 Icon 为任意图标文件。调整标签的高度到合适位置,窗体界面如图

所示:
4. 打开代码窗口,添加代码如下(符号“\\”下为注释):
Dim Txtdir, Txtfile \\定义路径和文件名变量
Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" (ByVal _
hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal _
nShowCmd As Long) As Long \\本函数可以通过“API 文本浏览器”添加
Private Const WEB1 = "mailto:wangxinlin81@yahoo.com.cn" \\设置电子信箱变量
Dim FileExist As New FileSystemObject
Private Sub Form_Load()
If App.PrevInstance = True Then End \\如果程序已经运行就退出
If Right(App.Path, 1) = "\" Then \\检查程序运行时文件的路径最后一个字符是否是“\”,主要区别文件处于驱动器上和子目录中
Txtdir = App.Path \\如果是,则路径为应用程序的路径
Else
Txtdir = App.Path + "\" \\否则路径为“应用程序的路径”+“\”
End If
Txtfile = Txtdir + App.EXEName + ".wxl" \\定义文件名为“路径”+“程序名”+“.wxl”
If FileExist.FileExists(Txtfile) Then \\如果文件存在调用Openxin
Openxin
Else
MsgBox "请确定“" & Txtfile & "”存在时再运行本程序。", vbCritical
End \\如果不存在则显示消息后退出
End If
Text1.Move 50, Label1.Top + Label1.Height + 20, Form1.Width - 220, Form1.Height - Text1.Top - 460 \\设置文本框的位置和大小
Me.Caption = App.EXEName \\设置程序标题为应用程序的文件名
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
Movemouse \\当鼠标经过窗体(移出标签)时调用Movemouse ,启动文字变色动画效果
End Sub
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
Movemouse \\同上
End Sub
Private Sub Movemouse()
Timer1.Enabled = True \\时间控件有效
Label1.FontUnderline = False \\标签下画线无效
End Sub
Private Sub Form_Resize()
If Form1.Height > 1000 Then \\调整窗体大小时,高度如果大于1000时调整文本框的大小和位置
Text1.Move 50, Label1.Top + Label1.Height + 20, Form1.Width - 220, Form1.Height - Text1.Top _
- 460
Label1.Left = (Form1.Width - Label1.Width) / 2 \\标签的位置居中
End If
End Sub
Private Sub Label1_Click() \\单击标签后启动电子信箱程序
Dim HyperJump2
HyperJump2 = ShellExecute(0&, vbNullString, WEB1, vbNullString, vbNullString, vbNormalFocus)
End Sub
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
Label1.ForeColor = vbRed \\当鼠标移动到标签时文字颜色为红色,设置一个热文本形式
Label1.FontUnderline = True \\文字下画线有效
Timer1.Enabled = False \\停止文字变色动画
End Sub
Private Sub Timer1_Timer()
Label1.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) \\标签文字变色效果实现
End Sub
Private Sub Openxin()
Dim FileStr As String, FileN As String \\设置读取文件内容的变量
Dim TempStr As String, DotPos As Integer
Open Txtfile For Input As #1 \\打开文件
FileStr = "" \\变量文件内容清空
Do Until EOF(1)
Line Input #1, TempStr \\放入文件内容到变量
FileStr = FileStr & TempStr & Chr$(13) & Chr$(10)
Loop
Text1.Text = "" \\文本框内容清空
Text1.Text = FileStr \\放入文件内容到文本框
End Sub
至此,程序已经完成,赶快按“F5”键运行一下试试吧!本篇只是抛砖引玉之篇,只要你稍加修改,就可以设计出具有自己特色的程序了。
本程序在VB6中文版,中文Windows98第二版/Windows me下调试运行通过。
source-03.zip