1、VB60速成图解教材一、熟悉一下VB6.0的编程环境二、学习VB常用控件的使用方法三、试着开发简单的VB应用程序好了,下面就一起来开始我们的学习吧。认识一下VB 6.0的编程环境 VB6.0采用可视化的编程环境,它好学易用,运行VB6.0后,会出现如下图所示的窗口,呵呵,看起来蛮复杂的,好多的按钮、菜单、小窗口,别担心,待会儿我们会一起学习这些东东都是干什么用的。先来解决一个小问题,怎么新建一个VB的工程呢?方法是这样的,在程序启动时出现的“新建工程”对话框中选择“标准EXE”并点击确定,就能直接新建一个工程,如果你跳过了这个对话框则也可从“文件”菜单中选择“新建工程”重新调出此对话框。下面一
2、起来看看VB的编程环境,虽然看起来复杂,但可以把它分为几个部分,每个部分都有自己特定的功能,这样我们就清楚多了。其实VB这是通过这样一个界面把相近或同类的功能组合在一起的,它使我们在设计程序时能方便的控制程序的方方面面。窗体的最上层是“VB 6.0的菜单”和“便捷工具按钮”,菜单中包含了所有的VB提供的功能的选项,而其中一些常用的功能或操作选项则被提取出来放在了“便捷工具按钮”中,通过点击这些快捷按钮可以加快程序开发的速度,下图标出了常见的工具按钮的作用,记着使用它们哦。接着看看“VB的组件面板”和“窗体设计区域”,VB提供了方便的窗体设计区域,它位于整个编程窗口的中间。我们可以在这个区域中搭
3、建出美观实用的程序界面,试着从“VB的组件面板”中找到“按钮CommandButton”,点击选中后,再到“窗体设计区域”的窗体上点一下,这时,窗体上会出现一个按钮,这样我们就把按钮添加到我们程序的界面中了。嘻嘻,忘了告诉你哪里是“VB的组件面板”了,就是最左边的那一条包含许多看起来眼熟的小东西的区域,它是VB提供给我们的标准的编程组件(控件),它把程序设计中常常用到的诸如按钮、图片框、列表框等等东西作好了放在那里,我们如果要使用只须添加到窗体中即可。 屏幕的右边有三个从上到下排列的小窗口,它们分别是:“VB工程管理器”:用来管理开发一个VB程序所需要的各种类型的窗体和模块,如左图是一个工程所
4、包含的东西,窗体是一个程序表现在外面的界面、模块是程序内部使用的代码。当我们点击“添加窗体”便捷工具按钮后,左图的“VB工程管理器”中就会显示出新添加的窗体,这也就是“VB工程管理器”的功能,它使我们从总体上把握程序开发的各个部分。组件属性窗口”:用来显示组件的属性,并允许我们修改,设定这些属性的值,我们在窗体设计区域的窗体上选中一个组件,以按钮为例,则在“属性窗口”中会列出它的属性,我们可以看到常用的“Name”、“Capition”、“Font”等等属性,试着把“Capition”属性改为“这是一个按钮”,然后看看“窗体设计区域”的按钮上“窗体布局窗口”:调整程序运行时,程序窗体在屏幕中的
5、初始位置,把鼠标移到左图屏幕中的窗体上,这时鼠标会变成移动形状,拖动窗体,就设置好了运行时此窗体的位置。好了说了这么多,还差一个区域没讲,那就是“代码编辑区域”,当我们在“窗体设计区域”双击鼠标,就能弹出这个区域,可以看到一行行的VB程序显示在其中,我们可以修改,写入程序代码,来让程序实现一定的功能,它是整个程序设计的关键,如果你对VB语言的语法还不是十分了解,可以继续下一节专门对“VB语法”的讲解,别着急,慢慢来,很快就能入门的。 “VB工程管理器”:用来管理开发一个VB程序所需要的各种类型的窗体和模块,如左图是一个工程所包含的东西,窗体是一个程序表现在外面的界面、模块是程序内部使用的代码。
6、当我们点击“添加窗体”便捷工具按钮后,左图的“VB工程管理器”中就会显示出新添加的窗体,这也就是“VB工程管理器”的功能,它使我们从总体上把握程序开发的各个部分。“组件属性窗口”:用来显示组件的属性,并允许我们修改,设定这些属性的值,我们在窗体设计区域的窗体上选中一个组件,以按钮为例,则在“属性窗口”中会列出它的属性,我们可以看到常用的“Name”、“Capition”、“Font”等等属性,试着把“Capition”属性改为“这是一个按钮”,然后看看“窗体设计区域”的按钮上显示的文字是不是改变了。VB的简单语法学习“窗体布局窗口”:调整程序运行时,程序窗体在屏幕中的初始位置,把鼠标移到左图屏
7、幕中的窗体上,这时鼠标会变成移动形状,拖动窗体,就设置好了运行时此窗体的位置。好了说了这么多,还差一个区域没讲,那就是“代码编辑区域”,当我们在“窗体设计区域”双击鼠标,就能弹出这个区域,可以看到一行行的VB程序显示在其中,我们可以修改,写入程序代码,来让程序实现一定的功能,它是整个程序设计的关键,如果你对VB语言的语法还不是十分了解,可以继续下一节专门对“VB语法”的讲解,别着急,慢慢来,很快就能入门的。 VB语言的语法和QBASIC基本一致,可以说如果你能读懂QBASIC程序,那你读VB的程序是没有问题的,这一节中我们只是简单的讲一讲VB的语法,因为在今后的各个实例中我们会不断接触到新的语
8、法知识,这也是一个积累的过程。如果你还记得上节中的内容,我们提到过如果在“窗体设计区域”的某个组件(控件)上双击鼠标,会出现“代码编辑窗口”,也就是如下图的窗口,我们可以在其中输入或是修改程序的代码。在我们双击控件到写入代码的这个过程中,我们涉及到了一个很重要的概念,这是VB与QBASIC的主要差别之一,大家知道在QBASIC包括Tubro C,TubroPascal等语言中程序从一开始就需要我们一点点的写代码来实现所有的功能,比如程序运行的界面,输入输出,键盘控制等,它们在程序中体现为一个个的过程或者是函数及子程序,它们都是完全面向过程的编程语言;但是现在的VB、VC、DELPHI等编程语言
9、,都提供了可视化的编程环境,备有一整套常见的组件(控件)供我们使用,这些控件可以看作是对象(VB严格的说不是完全面向对象的编程语言),我们写程序时会直接与这些对象打交道,而不象原来。所以在VB中大部分的代码是与这些相关的,例如下图所示的一段代码,它是我们在一个按钮(Command)上双击鼠标而由VB自动产生的一个子过程,Private Sub Command1_Click()是子过程的开始,End Sub表示子过程的结束。然后我们可以在子过程中添加程序代码,也就是由我们自己来写当按钮被点击时,程序所做出的响应。下面我们便来分析一下这段代码。B中声明一个变量使用“Dim 变量名 As 变量类型”
10、的方法,一般在程序中使用的到的变量都应该有变量声明,如上例中的a、b、i分别被定义为整型和字符串型变量,VB中的变量类型有以下几种:数据类型说明Byte二进制数 Boolean 真假值 Integer 整数 Long长整型Single 实数 Double双精度型 Currency 货币 Date 日期和时间 Object 对象 String 字符串 Variant可变类型控制结构和循环结构是程序设计中常见的两种结构。计算机在运行程序的时候,执行语句的顺序是从上向下的。 有些简单程序可以只用单向流程来编写,但稍微复杂的程序就要靠控制语句来控制程序执行的流程。控制结构主要有两种,分支结构和循环结构
11、。 分支结构:分支结构事实上是一种选择,在不同的条件下选择执行不同的程序段。实现分支结构的语句有很多,最常用的是ifthenelse。例如: if 条件 then 程序段一 else 程序段二 end if 如果条件满足了,电脑将执行程序段一中的语句,然后跳过程序段二,执行下面的语句。如果条件不满足,电脑将跳过程序段一种的语句,执行程序段二,然后继续执行下面的语句。 循环结构:循环结构就是让电脑反复的执行某一程序段落干次。 用DoLoop可以循环重复执行一语句块,且重复次数不定。 在已知循环次数的条件下,用Fornext可以反复执行统一语句块。以上两种结构你可以参照图中所示的代码,仔细体会一下
12、,今天就讲这么多了,下节我们就要进入实例式的控件学习。简单的文本框TEXTBOX的例子 文本框控件(TextBox)是VB中最常用的控件。它是显示和输入文本的容器,相当于一个文字编辑器,提供了所有基本的文字处理功能,例如文本的编辑等。在下面这个小程序中,我们能看到文本框控件(TextBox)的最基本的属性。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:这个例子的两个窗体界面如下:主窗体窗体(FormBack)我们首先新建一个标准的EXE工程。添加两个窗体,并把TextBox、Button、Label控件放置在窗体上。各文本框的名称如下表:文本框名称名称属性文本框名称名称属
13、性会员编号文本框TextID电子邮件文本框TextMail密码文本框TextPassWord个人介绍文本框TextResume姓名文本框TextName会员信息文本框TextAll在属性窗口中将TextPassWord的PassWordChar属性设为*;TextResume的Multiline属性设为Ture,ScrollBars属性设为2 -Vertical;TextAll文本框的Multiline属性设为为Ture, ScrollBars属性设为2 -Vertical,Appearance属性设为为0 - Flat。下一步我们为FormTxtBox窗体中“确定”(CmdOK)和“清除”(
14、CmdClear)按钮的Click事件中添加相应的程序。其中:TextID.Text = 是把会员编号文本框中的内容清空,其它语句与此类似。FormBack.TextAll.Text = LblID.Caption & & TextID.Text _ & vbNewLine & 该语句设置FormBack窗体中TextAll文本框的文本。vbNewLine是换行显示标志。“ _”是续行标志,当语句一行写不下时使用此标志,但要注意:前面要加空格。 代码写好之后,我们就可以保存工程,然后按“Ctrl+F5”键,测试检验一下我们的程序了。简单的列表框ListBox的例子列表框(ListBox)控件表
15、示一个选项清单,用户可能用鼠标选择其中一个或者几个选项。 列表框的特点是:列表框中的项目是通过程序插入到其中的,用户无法向清单中输入数据,当选择其中的项目,并在用户单击一个按钮或者执行某个操作时,由应用程序完成对指定项目的具体操作。下面这个例子充分说明了列表框的这个特点,并介绍了列表框(ListBox)的常用属性。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:这个例子包含一个窗体,窗体中有两个列表框(List1、List2)和八个按钮,界面如下:窗体(FormListBox)我们首先新建一个标准的EXE工程,添加一个窗体,并把列表框和按钮控件添加到窗体上。各按钮控件的名称
16、如下表:按钮名称名称属性按钮名称名称属性删除所选项目(左)List1movecmd删除所选项目(右)List2movecmd增加新项目(左)List1addcmd增加新项目(右)List2addcmd清除弄表(左)List1clearcmd清除列表(右)List2clearcmd右箭头lefttorightcmd左箭头RighttoleftcmdList1列表框 Sorted属性设为“False” List2列表框 Sorted属性设为“True” MultiSelect属性设置为2 即List2控件中的项目总是排序的 在属性窗口中,将List1列表框 Sorted属性设为“False”;Li
17、st2列表框 Sorted属性设为“True”,MultiSelect属性设置为2,即List2控件中的项目总是排序的。下一步我们为各控件添加相应的程序。其中:List1.AddItem China 是将“China”添加到列表框中。List1.ListIndex 返回的是列表框List1中当前选择项目的索引号码。 List1.ListCount 返回的是列表框List1中项目总数。List1.ListCount - 1 返回列表框List1中最后一个项目的索引号。List1.Selected() 返回的是一个项目的选择状态,返回的是布尔值。代码写好之后,我们就可以保存工程,然后按“Ctrl+
18、F5”键,测试检验一下我们的程序了。在这个小程序中,包含了列表框中的一般常用属性和方法。CommomDialog使用的例子 CommonDialog控件是常用的一个控件,它为我们提供了打开、另存为、字体、颜色、打印、帮助等几种类型的标准对话框,本例演示了所有这些类型的对话框的使用方法。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:这个例子包含一个窗体,窗体中有两个列表框(List1、List2)和八个按钮,界面如下: 窗体(FormListBox)我们首先新建一个标准的EXE工程,添加一个窗体,并把列表框和按钮控件添加到窗体上。各按钮控件的名称如下表:按钮名称名称属性按钮
19、名称名称属性删除所选项目(左)List1movecmd删除所选项目(右)List2movecmd增加新项目(左)List1addcmd增加新项目(右)List2addcmd清除弄表(左)List1clearcmd清除列表(右)List2clearcmd右箭头lefttorightcmd左箭头RighttoleftcmdList1列表框 Sorted属性设为“False” List2列表框 Sorted属性设为“True” MultiSelect属性设置为2 即List2控件中的项目总是排序的 在属性窗口中,将List1列表框 Sorted属性设为“False”;List2列表框 Sorted属
20、性设为“True”,MultiSelect属性设置为2,即List2控件中的项目总是排序的。下一步我们为各控件添加相应的程序。其中:List1.AddItem China 是将“China”添加到列表框中。List1.ListIndex 返回的是列表框List1中当前选择项目的索引号码。 List1.ListCount 返回的是列表框List1中项目总数。List1.ListCount - 1 返回列表框List1中最后一个项目的索引号。List1.Selected() 返回的是一个项目的选择状态,返回的是布尔值。代码写好之后,我们就可以保存工程,然后按“Ctrl+F5”键,测试检验一下我们的
21、程序了。在这个小程序中,包含了列表框中的一般常用属性和方法。CommomDialog使用的例子 CommonDialog控件是常用的一个控件,它为我们提供了打开、另存为、字体、颜色、打印、帮助等几种类型的标准对话框,本例演示了所有这些类型的对话框的使用方法。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:如果控件面板中没有CommonDialog控件的小图标,必须先从“添加控件对话框”中添加,下面我们来看看怎样调用不同类型的对话框。CommonDialog控件有一系列的Show方法,例如:ShowOpen、ShowSave、ShowFont、ShowColor、ShowPr
22、inter、ShowHelp等,这些方法的使用语法是类似的,如下所示:object.ShowOpen,我们只须在程序中写入这个语句,就能调出“打开”对话框,同样也能调用其它类型的对话框。而CommonDialog控件的属性是和不同的对话框类型紧密相关的,有些属性只适用于某一类对话框,有些属性在不同的对话框中的属性是有差别的,所以下面分类列出了和不同对话框相关联的属性的用法。与ShowOpen、ShowSave方法相关的属性:FileName属性:返回或设置所选文件的路径和文件名,如果在使用Show方法以前使用FileName属性,则设定了对话框的默认文件名;如果是在以后使用则返回选择的文件名。
23、使用语法是: CommonDialog.Filename=pathname Filter属性:返回或设置在对话框的类型列表框中所显示的过滤器(也就是限定打开或保存为的文件类型),它的使用语法是:object.Filter = 描述文字1 |过滤标示1 |描述文字2 |过滤标示2其中描述文字为任意文字,而 过滤标示则采用*.文件后缀(例如:*.bmp)的格式,描述文字和过滤标示之间用“|”隔开。DefaultExt属性:为该对话框返回或设置缺省的文件扩展名,也就是当我们没有指定打开或保存的文件类型时,按DefaultExt属性所设置的扩展名为默认值。与ShowFont方法相关的属性:Color选
24、定的颜色。为使用此属性,必须先将Flags属性设置为cdlCFEffects。 FontBold 是否选定“粗体”。 FontItalic 是否选定“斜体”。 FontStrikethru 是否选定删除线。 FontUnderline 是否选定下划线。 FontName 选定的字体名称。 FontSize 选定的字体大小。使用的语法是直接引用,比如我们要根据“字体对话框”返回的值设置文本框的字体,则直接采用语句:Text.Font=CommonDialog.FontnName 与ShowColor方法相关的属性:Color选定的颜色。为使用此属性,必须先将Flags属性设置为cdlCFEffe
25、cts。与ShowHelp方法相关的属性:HelpCommand属性 返回或设置需要的联机帮助的类型 HelpFile属性确定帮助文件的路径和文件名语法是: object.HelpFile = filename 下面看看CancelError属性,它设置当选取“取消”按钮时是否认为出错,使用的语法是:CommonDialog.CancelError= boolean (boolean指布尔型变量)如果我们把它设为True,则当使用者选取了“取消”按钮时程序会返回一个cdlCancel错误,通过捕捉这个错误并加以处理,我们就能避免程序的出错。具体的使用可在源码中看到实例。在状态栏中显示帮助信息
26、状态栏是VB中的一个很有用的控件,但是默认状态下它不在控件面板中,在我们使用它之前必须先添加,方法是按下Ctrl+T快捷键,在弹出的“Components”对话框中选中MS Windows Common Controls。这时在控件面板中会出现状态栏的小图标,双击此图标就能把它添加到窗体中。接下来我们根据自己的需要来编辑状态栏,选中窗体上的状态栏,在鼠标右键菜单中选择“属性Properties”,这时会弹出如上图所示的对话框,我们选择“Panels窗格”。其中“Insert Panel”按钮用来添加状态栏中的窗格数目,当我们添加一个窗格后“Index”的值也会自动加一,在程序中我们通过窗格的索
27、引值来引用窗格。下面的一些项目都是窗格的属性,我们可以在此设置也可在程序中控制它。比较常用的属性有:“Text”-在各个窗格中显示的文字;“Alignment”-窗格中文本的对齐方式;“Style”窗格的样式(选择0-sbrText为显示文本,选择6-sbrDate为显示日期等等);“Bevel”-窗格的凹凸状态。另外我们还可以在窗格中加入图片,方法是点击“Browse”然后选中图片文件。在本程序中我们在第一个窗格中动态显示帮助信息,在第二、三个窗格中分别显示日期和时间。那么怎样在程序中控制状态栏中显示的文本呢?例如我们希望鼠标移动到不同的按钮上时状态栏的第一个窗格中显示不同的帮助,则我们在按
28、钮的OnMouseOver事件中加入如下语句即可:Private Sub CmdNew_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) staSample.Panels(1).Text = staSample.Panels(1).Text = 清空文本框 End Sub 同样的我们能为其它按钮等控件添加帮助信息。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:这样状态栏中就能动态显示帮助信息了。使用右键菜单的例子右键菜单能让软件的使用者快捷的完成操作,那么如何把右键菜单用在自己
29、写的程序中呢?在这个小程序中我们能看到编辑并使用右键菜单的方法。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:(源程序下载)我们先打开菜单编辑器(在工具菜单中),然后添加一个一级菜单Popmenu,将它的Visible属性设为“False”,这代表菜单在程序运行时是看不到的,由于一级菜单是二级菜单的上级菜单,所以二级菜单也是看不到的。然后我们来添加几个二级菜单,注意每个菜单都有Caption属性和Name属性,这两个属性是必须写的,Caption属性是显示在菜单项上的内容,而Name属性则是我们要在程序中引用菜单项的代号,类似与其它控件的Name属性。而菜单中分隔线是通过
30、把Caption属性设为“-”来实现的。菜单编辑好后,就能在程序中引用并控制它,在本例中我们希望在文本框上点击鼠标右键时弹出这个右键菜单,则需要在文本框的MouseDown事件中加入控制语句:Private Sub RichTextBox1_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) If Button = 2 Then如果是鼠标右键按下时Form1.PopupMenu mnufile, 0, X, Y弹出右键菜单End IfEnd Sub其中MouseDown事件各个参数意义如下:button返回一个整数,用来标识该事件的产生是按下哪个按键,其中左键为0,右键为2,中间键为4 shift 返回一个整数,标示是否同时有Shift,Ctrl,Alt键按下x, y 返回一个
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1