版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 Visual Basic语言概述 Visual Basic语言是一种可视化的编程语言,简称VB,其前身是Basic语言。Visual Basic保持了Basic语言易学易懂的特点,同时给开发者提供了一个轻松无障碍的交互式开发环境。即使一个毫无编程经验的新手,通过短时间的学习也能编写出简单的VB应用程序。【主要内容】 一个简单VB应用程序的开发 VB应用程序的开发步骤、VB6.0集成开发环境的认识 开发VB应用程序的基础窗体的初步应用 Visual Basic简介 MSDN Library帮助系统概述 1.1 一个简单的Visual Basic应用程序 1.2 Visual Basic应
2、用程序开发步骤 1.3 开发Visual Basic应用程序的基础窗体 1.4 Visual Basic简介 1.5 MSDN Library 【引例】设计一个用户界面如图1.1(a)所示的应用程序。程序运行后,单击“显示”命令按钮,在文本框中显示“你好!欢迎使用本教材”,运行效果图如图1.1(b)所示;单击“退出”命令按钮,则关闭窗口,程序运行结束。 图1.1(a)【引例】运行效果图 图1.1(b)【引例】运行效果图1.1一个简单的Visual Basic应用程序 VB应用程序的开发通常分为两步:设计用户界面和编写代码。本小节通过对【引例】功能的实现,来学习如何开发一个简单的VB应用程序,使
3、读者初步掌握VB应用程序的开发步骤。 在这一小节中,读者可以按照教材所示的操作步骤,实现一个简单VB应用程序的开发。 1.1.1 设计应用程序用户界面 1.1.2 编写代码 1.1.3 运行应用程序 1.1.1 设计应用程序用户界面步骤一 启动VB 通过“开始”“程序”“Microsoft Visual Basic 6.0中文版”,启动Microsoft Visual Basic 6.0中文版后,得到如图1.2所示的启动界面对话框。 图1.2 启动界面对话框 步骤二 进入VB集成开发环境 在图1.2中,单击“新建”选项卡“标准EXE”标签选项“打开”命令按钮,或者直接双击“标准EXE”标签选项
4、,都可进入如图1.3所示的VB集成开发环境。 工具箱窗体属性窗口步骤三 向窗体添加控件 根据【引例】界面设计的要求,需在窗体上添加的控件为:一个标签、一个文本框和两个命令按钮,控件图标如图1.4所示。 图1.4 工具箱 TextBox(文本框)Label(标签)CommandButton(命令按钮)向窗体添加控件的步骤: 选择“标签”控件 在工具箱中单击标签控件图标。添加“标签”控件 将鼠标移至窗体后鼠标指针会变为十字型,按住鼠标左键,在窗体适当位置拖拽鼠标,鼠标松开后,即完成了标签控件的添加,其默认名称为“Label1”,见图1.5(a)。向窗体添加其余控件 采用同样方法在窗体上添加一个文本
5、框和两个命令按钮。调整控件的大小和位置 如果控件的大小和位置不符合要求,可选中控件,拖拽鼠标,来调整控件的大小和位置。 通过上述步骤,得到如图1.5(b)所示的【引例】初始用户界面。 图1.5(a)标签控件的添加 图1.5(b)【引例】初始用户界面 步骤四 窗体和控件属性值的设置 窗体和控件的标题、大小、字体等特征是由它的属性所决定的,通过对窗体和控件属性值的设置,可以设计更合理、更直观的用户界面。在属性窗口可以设置属性值,见图1.3所示的属性窗口。 根据【引例】界面设计要求,需要重新设置窗体和控件部分属性的属性值,属性值的设置见表1.1,其余均采用默认值。 对象名称属性属性值Form1Cap
6、tion一个简单的VB应用程序Label1CaptionVisual Basic程序设计语言Alignment1FontSize15Text1Text/Alignment2Command1Caption显示Command2Caption退出表1.1 【引例】用户界面属性值设置 窗体和控件属性值的设置:设置窗体(Form1)属性值根据表1.1,需修改窗体(Form1)的“Caption”属性的默认值。单击窗体(Form1),选中它,使其处于活动状态,在属性窗口中列出了窗体(Form1)的所有属性,将其Caption属性的属性默认值“Form1”改为“一个简单的VB应用程序”,见图1.6;图1.6
7、 窗体(Form1)的caption属性值的设置 此时会发现窗体(Form1)的显示标题变成了“一个简单的VB应用程序”,见图1.7(a)。 图1.7(a) 窗体Caption属性设置效果图 图1.7(b)【引例】用户界面 采用同样方法,根据表1.1,设置其余控件属性的属性值,得到如图1.7(b)所示的用户界面。 设置其余控件属性值 1.1.2 编写代码 用户界面设计完成后,应用程序只是一个静止而没有生机的画面而已,不能实现任何功能,为了实现【引例】应用程序的功能,需要为两个命令按钮分别编写单击(Click)事件代码。编写代码方法如下: 双击图1.7(b)所示用户界面的“显示”命令按钮,进入代
8、码编辑窗口,系统自动生成了如图1.8所示的代码框架: 编写“显示”命令按钮Click事件代码图1.8“显示”命令按钮的单击(Click)事件代码框架 在过程头(Private Sub Command1_Click)和过程尾(End Sub)之间书写代码,见图1.9。 图1.9 “显示”命令按钮的单击(Click)事件的代码,代码很简单,只有两条语句。 图1.9 “显示”命令按钮的单击(Click)事件的代码 编写“退出”命令按钮Click事件代码 双击图1.7(b)所示用户界面的“退出”命令按钮,进入代码编辑窗口,在系统自动生成的代码框架中编写“退出”命令按钮的单击(Click)事件代码,见图
9、1.10。图1.10“退出”命令按钮的单击(Click)事件代码 1.1.3 运行应用程序 按F5键运行【引例】应用程序,可查看程序运行结果。 程序在运行时,代码窗口中的代码只能查看而不可修改,这时可以通过点击工具栏的“结束”图标使程序在运行的过程中被强制关闭,又可以回到VB开发环境中反复修改程序。 1.2 Visual Basic应用程序开发步骤 本节将对VB程序设计的详细步骤做一个系统的总结,同时使读者对VB6.0的开发环境有初步的认识和了解。 虽然目前学到的VB语言知识有限,只能编写简单的程序,但只要掌握了详细的设计步骤(即设计套路),要想编写更复杂的程序,只要今后逐步学习新的知识即可。
10、 1.2.1 启动VB 执行“开始”“程序”“Microsoft Visual Basic 6.0中文版”命令,进入VB6.0集成开发环境。如下图所示: 1.2.2 VB集成开发环境及界面设计 VB6.0的集成开发环境主要由以下部分组成: 1 标题栏和菜单栏 2 工具栏 3 窗体(Form)窗体是开发应用程序的基础,用来设计应用程序的用户界面,是应用程序最终面向用户的窗口。 4 工具箱工具箱可以通过工具栏按钮或菜单“视图”“工具箱”打开。工具箱中包含用户界面设计所需的图形元素,这些图形元素称为控件对象,简称为控件。将工具箱中的控件添加到窗体上的方法通常有两种: 用鼠标双击工具箱上的某个控件图标
11、后,窗体上则会显示相应控件,然后可以通过鼠标拖拉方式改变控件对象的大小和位置; 用鼠标单击工具箱上的某个控件图标后,将鼠标移到窗体的目标位置,按下鼠标左键并拖拉鼠标,直到控件大小满意为止。 5 属性窗口在属性窗口,通过对窗体和控件属性值的设置,可以进一步设计更加直观的用户界面。属性窗口可以通过工具栏按钮或菜单“视图”“属性窗口”打开,属性窗口只有在设计阶段才可被激活。属性窗口由“属性窗口标题栏”、“对象列表框”、“排序选项卡”、“属性列表框”和“属性含义说明”组成。如图1.12所示: 6 工程资源管理器工程资源管理器窗口可以通过工具栏按钮或“视图”“工程资源管理器”菜单命令打开。一个VB应用程
12、序可以很简单,只有一个窗体界面和简单的代码,也可以很庞大,由很多窗体界面和代码单元组成,因此需要一个有效的机制将它们组织起来,这就是“工程”的概念。 “查看代码”图标可以调出代码窗口; “查看对象”图标可以显示窗体窗口,并使某一窗体处于活动状态; “切换文件夹”图标可以决定工程中的列表项是否以目录的形式显示。 7 窗体布局窗口窗体布局窗口可以通过工具栏按钮或“视图”“窗体布局窗口”打开。在窗体布局窗口中有一个计算机屏幕,屏幕中有一个窗体(Form1),可以拖拽鼠标来移动窗体(Form1),以调整其在屏幕上的位置。应用程序运行后,窗体(Form1)将出现在屏幕中对应窗体布局窗口的位置。1.2.3
13、 编写代码用户界面设计完成后,应用程序不能对外界任何事件作出响应,也不能实现任何复杂的功能。要使应用程序真正有用,就需要为窗体或相应的控件编写事件驱动代码,使其能够完成指定的功能。 下面首先学习两个基本概念,然后认识编写程序代码的环境,最后了解VB语句书写规则。 1 对象和事件驱动 对象(Object)VB中,应用程序、窗体、控件、菜单、程序代码、窗口等都可以理解为对象。对象是VB应用程序的基本单元,也可以说,用VB编程就是用对象组装程序。每个对象都有自己的属性,每个属性都有其各自的含义。不同对象也有许多相同的属性,如标题(Caption)、名称(Name)、是否可见(Visible)等。 事
14、件事件是指发生在对象上的事情。VB中的事件是预先设置好的,可以被对象识别的动作,如命令按钮(commandbutton)可以响应鼠标单击(Click)、鼠标移动(MouseMove)等事件。2 代码窗口 也称代码编辑器,在代码窗口中,程序员可以编写对象的事件驱动代码。代码窗口可以通过以下三种方式之一打开:双击窗体或某个控件对象;通过执行菜单“视图”“代码窗口”打开; 通过单击“工程资源管理器窗口”中的“查看代码”图标打开。 代码窗口主要由“对象列表”、“事件列表”、“代码编辑区”构成;另外还有两个重要的按钮“过程查看”按钮和“全模块查看”按钮。 对象列表:列出了窗体名称和窗体上所有控件的对象名
15、称。 事件列表:列出了对象可以响应的事件。 代码编辑区:在其内可以书写、编辑代码。代码编辑区的程序代码由一个一个事件过程构成,事件过程是用来响应事件的程序代码段。 过程查看按钮和全模块查看按钮: 单击过程查看按钮后,在代码编辑区内只显示与对象列表中选中对象相对应的事件过程代码。 单击全模块查看按钮后,在代码编辑区内显示相应窗体内所有对象的事件过程代码。3 VB语句书写规则及几点说明:每个语句以回车键结束;一般情况下,一条语句书写在一行。若多条语句书写在一行,各语句之间须用冒号(:)隔开。一条语句可以分多行书写,需在续行的前一行的末尾加入一个空格和一个下划线。一个语句行的长度最多不能超过1023
16、个字符。若在 “工具”“选项”菜单中编辑器选项卡中设置了自动语法检测,则在书写语句的过程中,VB将自动对输入的内容进行语法检测,若发现了语法错误,系统会给出错误提示。 VB的语句包括赋值语句、输入输出语句、流程控制语句和对象的方法等语句。 为了提高程序的易读性,VB语言提供了注释语句。注释语句在程序代码中用来对语句进行说明,在程序运行中是不可执行的。VB语言的注释语句有以下两种格式: 以命令Rem开头后跟注释说明文字,注释说明文字必须和Rem以空格分开;并且注释语句必须是单独的一行。 以半角单引号()开头后跟注释说明文字,可以直接放在一条语句的后面,也可以是单独的一行注释语句。VB的代码窗口能
17、够自动采用不同颜色显示注释和语句。其中,注释语句为浅绿色;系统查找出的出错语句为红色;系统关键字为蓝色,如private 、sub等;其余为黑色。 1.2.4 保存文件 当一个应用程序初步设计完成后,就应该及时保存,以免由于意外而造成信息的丢失。由前面内容可知,一个工程可能包含了多种类型的文件,它们需要分别进行保存。保存工程的方法通常有三种: 执行菜单“文件”“保存工程”命令。 点击工具栏的保存工程图标。 执行菜单“文件”“工程另存为”命令。 1.2.5 运行程序 通常,当程序设计完成后,可以运行程序,验证程序运行结果是否达到预期要求?当然,在程序设计的过程中,也可以运行程序来查找错误、修改错
18、误和验证运行结果。这个过程通常称为调试。程序调试是一个反复的过程。 运行程序的方法通常有三种: 执行菜单“运行”“启动”命令。 点击工具栏的启动图标。 按F5键。 1.2.6 生成EXE文件 到目前为止,应用程序只能在VB集成环境中运行,如果失去了VB环境的支持,应用程序则不可执行,程序只是一堆文本格式的源代码(Source Code)。 要使应用程序在没有VB集成环境的情况下依然可以执行,就需要对工程进行编译,生成EXE可执行文件。EXE文件的生成可以通过执行“文件”“生成工程1.exe”菜单命令实现。 1.3 开发Visual Basic应用程序的基础窗体 窗体是一种最常见的控件对象,是开
19、发VB应用程序的基础。窗体相当于其它控件的载体(容器),其它控件必须建立在窗体上来设计用户界面。 新建工程时,系统会自动建立一个窗体。在设计阶段,窗体显示在窗体窗口中,见图1.22(a)。在运行阶段,窗体并不显示在窗体窗口中,而是直接显示出来。见图1.22(b)。窗体的显示标题与Caption属性值一致窗体窗口的显示标题与Name属性值一致 图1.22(a) 设计阶段的窗体 图1.22(b) 运行阶段的窗体1.3.1 窗体常用的属性 窗体的属性代表窗体的外观特性和可进行的操作,如窗体的名称、运行后的位置、窗体的显示标题、显示在窗体上的文本的字体、大小、颜色等外观特征;窗体在运行时,是否可进行被
20、移动、被最大化、被最小化等操作。 包括窗体在内的每个对象的属性的属性值都有系统默认值,通过修改其值可以改变对象的特征。设置对象属性的方法有两种:一是在属性窗口中直接设置;另一种是在代码中设置。 对象的大部分属性即可以在属性窗口中设置(前面已介绍),又可以在程序代码中进行设置。 在代码中设置属性值的格式为: 对象名.属性名=属性值 说明:对象名是可选参数。可以是窗体或控件;如果省略对象名,则表示设置当前窗体的属性的属性值。 下面列出窗体的部分常用属性,有的属性既适用于窗体,也适用于其它控件。1 Name属性 该属性只能在属性窗口进行设置。在属性窗口中,Name属性通常作为第一个属性条,记作:“(
21、名称)”。 是对象的名称,用来定义窗体窗口的显示标题;同时用于在事件代码中指示相应的对象,代码窗口的显示标题也和Name属性取值一致。 该属性适用于窗体、所有控件。 2 Caption属性 窗体的显示标题,通常用来说明窗体的作用。系统默认的Caption属性值和Name属性值相同。 注意,对象的Name属性和Caption属性的区别。Name 属性是计算机用来区分各个对象的;Caption是显示在对象上的内容,是向用户说明各个对象的作用的。 除窗体外,Caption属性还适用于部分控件,如标签、命令按钮、框架等控件。3 Appearance属性 设置窗体在运行时是否以立体的效果显示。 0表示以
22、平面的形式显示; 1表示以立体的形式显示(默认值)。 该属性适用于窗体和所有控件。 4 AutoRedraw属性 设置窗体是否具有自动重画的功能。若将该属性设置为True,则当窗体被其它窗体覆盖又回到该窗体,或窗体的大小发生改变时,会自动刷新显示在窗体上的图形和文本。 该属性主要用于多窗体程序设计中,该属性适用于窗体、图片(PictureBox)控件。 5 BackColor属性 设置窗体的背景颜色。设置该属性时,可以通过打开的调色板选取适当的颜色。 该属性适用于窗体和各种控件。6 BorderStyle属性 设置窗体的边框样式。该属性值可以为05。 0表示无边框; 1表示窗体大小固定且具有单
23、线边框; 2(默认值)表示窗体具有大小可调整的边框; 3表示窗体具有大小固定的边框; 4表示窗体为单线固定工具窗口,且只包含关闭按钮; 5表示窗体为可调整的工具窗口,且只包含关闭按钮。 该属性适用于窗体和大多数控件。 7 ControlBox属性 用来决定窗体的标题栏是否显示控制图标以及最小化、最大化和关闭按钮。即决定窗体在运行后是否可以被最小化、最大化和关闭。属性值为布尔值True或False,默认值是True。该属性只适用于窗体。 True在窗体上显示控制图标、最小化、最大化和关闭按钮; False在窗体上不存在控制图标、最小化、最大化和关闭按钮;8 Enabled属性 每个对象都具有En
24、abled属性。用来设置对象是否接受并响应用户事件,即是否能被用户激活。该属性适用于窗体和各种控件。 True表示该对象可用,即可以响应用户事件; False表示该对象不可用,即不能响应用户事件。对象一般呈灰色显示。9 ForeColor属性 设置对象的前景颜色,窗体上的输出文本的显示颜色为窗体的前景颜色。该属性适用范围同BackColor相同。10 Font属性 用来设置显示文字的字体、字形、大小等特征。在属性窗口进行设置该属性时,系统会弹出如图1.23所示的对话框。在对话框中,程序员可以对显示在窗体或其它对象上的文字进行字体、字形、大小等特征的设置。 在程序代码中,同样也可以采用如下属性对
25、输出文本进行字体、字形、大小等特征的设置。 FontName属性:用来设置输出文本的字体类型。 格式:对象. FontName=字体类型 FontSize属性:用来设置输出文本的字体大小。 格式:对象. FontSize=点数 FontBold属性:用来设置输出文本的是否以粗体字的形式输出。 格式:对象. FontBold=Boolean 该属性可以取两个值,即True和False。当FontBold属性为True时,文本以粗体字输出,否则按正常字输出,其默认值为False。 FontItalic属性:用来设置输出文本的是否以斜体字的形式显示。 格式:对象. FontItalic =Boole
26、an 当FontItalic属性为True时,文本以斜体字输出,该属性的默认值为False。 FontStrikethru属性:用来设置输出的文字是否加删除线。 格式:对象. FontStrikethru=Boolean 如果把FontStrikethru属性设置为True,则在输出的文本中部画一条直线,直线的长度与文本的长度相同,该属性的默认值为False。 11 Icon属性 设置窗体最小化后的图标。设置时,系统会提供选取图标的对话框。 该属性只适用于窗体。12 Moveable属性 设置窗体在运行后位置是否可以被用户改变,其值为布尔值True或False。该属性只适用于窗体。13 Lef
27、t、Top、Height、Width属性 所有对象都具有这些属性,用来确定对象的大小和位置,属性值是整数。 14 Picture属性 用来设置显示在窗体中的图形。 该属性只适用于窗体和少数控件,如图像框和图片框。15 StartUpPosition属性 设置窗体首次显示时所处的位置。 0窗体的首次显示位置由Left和Top属性决定; 1窗体显示在屏幕中央,若是多窗体,则显示在其父窗体的中央; 2任何窗体均显示在屏幕中央; 3窗体显示在屏幕左上角,是默认值。 该属性只适用于窗体。 16 MaxButton、MinButton属性 MaxButton属性:设置窗体运行时最大化按钮是否可用; Min
28、Button属性:设置窗体运行时最小化按钮是否可用。 两个属性的属性值都为布尔值,True为可用;False为不可用。默认值均为True。 这两个属性都只适用于窗体。17 Visible 设置对象在运行后是否可见。属性值为布尔值,True为可见;False为不可见。默认值为True。 除窗体外,该属性适用于各种控件。 18 WindowsState 设置一个窗体运行时的可见状态。属性值为0、1、2。默认值为0。 0正常状态,运行后窗体的大小以设计阶段为准; 1最小化状态,窗体运行后缩小为最小化图标; 2最大化状态,窗体运行后为最大化,充满整个屏幕。 该属性只适用于窗体。 本小节只列出了窗体的部
29、分常用属性,有关窗体其余属性的使用情况读者可查阅VB帮助系统。 下左图是一个所有属性均采用系统默认值的窗体运行后的状态。窗体运行后首次显示的位置在屏幕的左上角;且窗体可被移动;窗体的大小也可调整; 控制图标 最小化、最大化、关闭按钮属性名称属性值Caption窗体属性MoveableFalseBorderStyle1ControlBoxFalseStartUpPosition2上右图和上左图相比较,发生了以下几点变化:窗体的显示标题由“Form1”“窗体属性”。窗体的控制图标和最大化、最小化、关闭按钮消失。运行后窗体首次显示的位置由“屏幕左上角”“屏幕中央”。窗体由“可被移动”“不可被移动”。
30、窗体的大小由“可被调整”“不可被调整”。 举例:在窗体上设置相关按钮,实现窗体的移动和缩放等功能1.3.2 窗体常用的事件过程所谓事件,就是发生在对象上的事情。在Visual Basic中,系统为每个对象预先定义好了一系列的事件,如单击事件、双击事件、改变事件等。事件是固定的,用户不能自行创建新的事件。对象的事件驱动代码必须由程序员编写。来完成特定的功能。当程序员在代码窗口的对象列表框选定好对象,在事件列表框选定好需要编写代码的事件后,系统会在代码窗口的代码编辑区提供如下形式的事件过程框架:Private Sub 对象名事件名(参数列表)End SubPrivate Sub对象名事件名(参数列
31、表)是过程声明语句,也可称作过程头;End Sub是过程结束语句,也可称作过程尾。过程声明语句中,“Private”意为“私有”,用来表明事件过程的类型;“Sub”是关键字,表示过程的开始;“对象名事件名(参数列表)”是事件过程名称,其中“参数列表”根据需要来设定,可有可无。 过程名称由两部分组成,并遵循如下规则:第一部分对象名与对象的“(名称)”属性,即Name属性取值相同。注意:如果对象是窗体,对象名并不与对象的Name属性相符,而是Form。第二部分是事件的名字。过程名称的两部分之间必须用下划线(_)连接。 窗体事件主要是针对鼠标、键盘的,如鼠标单击,键盘按下或松开等事件。这里介绍几个与
32、窗体有关的常用事件。1 Click(单击)事件单击事件是每个对象都具有的事件。当用户在一个对象上单击鼠标时该事件就会被触发。对窗体而言,只要在窗体的任何没有其它控件的位置上单击鼠标就会触发此事件。 2 DblClick(双击)事件同单击事件相似,也是大多数对象都具有的事件。当用户在一个对象上双击鼠标时该事件就会被触发。对窗体而言,只要在窗体的任何没有其它控件的位置上双击鼠标时就会触发此事件。3 Activate、Deactivate事件这两个事件互为反事件。Activate事件是窗体的激活事件,即当窗体由非活动窗口变为活动窗口时触发此事件,而Deactivate事件是当窗体由活动窗口变为非活动
33、窗口时此事件被触发。 4 Load(装入)事件当窗体被加载时,即当窗体被调入内存并显示在屏幕上时,也就是说当启动程序时,该事件被触发。因此在该事件中通常加入一些在程序执行之前,对程序中用到的对象或变量等进行初始化的语句。5 Unload事件当窗体被关闭时触发该事件。6 Resize事件当窗体的尺寸发生改变时触发该事件。 7 鼠标事件MouseMove事件:当鼠标在对象上移动时触发该事件。该事件的过程头格式如下:Private Sub 对象名MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)说明: “
34、对象名”可以是窗体或其它控件。 参数“Button”表示被按下的鼠标按键,其值为一个整数:1、2、4。鼠标左键鼠标右键鼠标中间键 参数“Shift”表示被按下的键盘控制键,表1.3为“Shift”参数说明。表1.3 键盘事件参数说明Shift值说明0没有按Shift、Alt、Ctrl 1Shift 2Ctrl 3Shift+Ctrl 4Alt 5Shift+Alt 6Ctrl+Alt 7Shift+ Ctrl+Alt 参数X和Y表示鼠标在所指对象上的当前位置(坐标)。 MouseDown事件:当用户在对象上按下鼠标的任意一个键时触发该事件。在这个事件中,可以通过判断用户按下的是鼠标左键还是鼠标
35、右键而作出不同的事件处理。该事件的过程头格式如下:Private Sub 对象名MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)MouseUp事件:和MouseDown事件相反,当鼠标的任意一个键被松开时触发该事件。该事件的过程头格式如下:Private Sub 对象名MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)8 键盘事件KeyPress事件:按下并且释放键盘上的任意一个能产生ASCII码(见附录)
36、的键时该事件被触发。也是使用频率较高的键盘事件。该事件的过程头格式如下:Private Sub 对象名_KeyPress(KeyAscii As Integer)说明: “对象名”可以是窗体或其它控件。 参数“KeyAscii”是一个整数,表示按键的ASCII码值。 KeyPress事件只会对能产生ASCII码的键起反应,包括数字,大小写字母,Enter,BackSpace,Esc,Tab等,对键盘的编辑键等不会起反应。 KeyDown事件:当用户按下键盘上的某键或某键与Shift、Ctrl、Alt的组合键时触发该事件。该事件的过程头格式如下:Private Sub对象名_KeyDown(Ke
37、yCode As Integer, Shift As Integer) 说明:“对象名”可以是窗体或其它控件。 参数“KeyCode”是键盘上被按键的键盘扫描码。 参数“Shift”是键盘上的Shift、Ctrl、Alt三个键的任意组合。参数说明见表1.3。 如果两个参数同时使用,表示所按键“KeyCode”和Shift、Ctrl,Alt的联合使用。 KeyUp事件:用户释放键盘上某键时触发该事件。该事件的过程头格式如下: Private Sub对象名_KeyUp(KeyCode As Integer, Shift As Integer)参数说明同KeyDown事件。通常使用KeyDown和K
38、eyUp事件过程来处理任何不被KeyPress识别的按键,例如:功能键、编辑键、定位键以及任何这些键和键盘换档键的组合等。窗体的常见事件的使用将在后续的各章节中进一步举例进行探讨。 举例:窗体运行后,当鼠标在窗体上移动后,显示鼠标在窗体上的当前位置同时,当按下任意键则在窗体上显示被按下键的键值1.3.3 窗体常见的方法 VB中对象的 “方法”是指由系统定义的,可供程序员直接调用的一些特殊的过程或函数。通过对对象方法的调用可以实现某些功能,对象方法调用的格式为:对象名.方法名如果“对象名”省略的话,表示对当前窗体进行操作。1 Print方法用于在对象上输出信息。详细内容见第二章。2 Cls方法格
39、式:对象Cls功能:用于清除显示在对象上的文本信息,并把光标重新定位到对象的左上角。如果省略对象,则清除当前窗体所显示的内容。 3 Move方法移动对象到指定的位置。格式:对象名Move 左边距离 ,上边距离 ,对象宽度 ,对象高度说明:有“对象名”,则表示“对象”相对于“窗体”的距离;无“对象名”,则表示“窗体”相对于“屏幕”的距离。语句Command1.Move 100, 300, 200, 250意为将命令按钮(command1)移动到距离窗体左边界100,上边界300的位置,按钮大小变为:宽200,长250。语句Move1 100, 300, 200, 250意为将当前窗体移动到距离屏
40、幕左边界100,上边界300的位置,窗体大小变为:宽200,长250。 4 Show方法格式:窗体名称Show 模式功能:将已经装入内存的窗体显示出来。说明:参数“模式”的取值有0(默认值)和1。0表示非模化的窗体; 1表示模化的窗体。模化的窗体是指该窗口出现后,等待用户对其作出响应。这种窗口一般用在一些对话框上。5 Hide方法格式:窗体名称 Hide功能:隐藏窗体,即不在屏幕上显示,但仍存在于内存中。 6 Load语句格式:Load 窗体名称功能:把窗体装入内存,但并没有显示出来,如果要显示出来,必须引用窗体的Visible属性。例如:Load Form1Form1Visible = Tr
41、ue7 Unload语句格式:UnLoad 窗体名称功能:卸载窗体,将窗体从内存中清除。 1.3.4 多重窗体 可以使用多个窗体来开发具有较复杂的功能应用程序。在这种具有多个窗体的应用程序中,每个窗体都有自己的界面及代码,各个窗体分别实现不同的操作,从而实现复杂的功能。这种具有多个窗体的机制称为多重窗体。下面介绍如何创建具有多个窗体的工程。 直接创建具有多个窗体的工程直接创建具有多个窗体的工程的方法按照下面的步骤进行:步骤一 创建具有一个窗体的工程按照以前学过的方法创建一个 “标准EXE”工程,此时,此时程序只有一个窗体。只包含一个窗体的应用程序的工程资源管理器窗口如图1.25 (a)所示 。
42、 图1.25( a)只有一个窗体的资源管理器 图1.25(b)多窗体的创建 图1.25(c)具有多个窗体的资源管理器步骤二 添加新的窗体单击“工程”菜单下的“添加窗体”命令,在调出的“添加窗体”的对话框(如图1.25(b))中,单击“新建”选项卡“窗体”标签选项“打开”命令按钮,即可在当前工程中添加一个新的窗体。反复按照此方法进行操作,可以在程序中添加多个窗体,窗体的名称自动设置为Form1,Form2。图1.25 (c) 所示资源管理器窗口为添加了4个窗体的工程。 步骤三 设置启动窗体一个工程有了多个窗体后,究竟从哪一个窗体开始执行呢?VB规定,对于多窗体工程必须指定其中一个窗体为启动窗体;
43、如果未指定,就将设计的第一个窗体默认为启动窗体。那么如何设置启动窗体呢?通过执行“工程”菜单下的“工程1属性”命令,在调出的“工程1属性”对话框(如图1.26所示)中,在“启动对象”下拉列表框中选择希望成为启动窗体的窗体名,然后单击“确定”按钮,就可以将某个窗体设置为启动窗体。 图1.26 启动窗体的设置选择启动窗体在图1.26中,将Form3设置为启动窗体,程序运行后,将首先显示出窗体Form3。步骤四 编辑启动窗体和其它窗体对启动窗体和其它窗体,根据需求添加所需要的控件和编写相关事件驱动代码。 2 通过现有窗体创建多窗体工程和前一种方法相比较,通过现有的窗体创建多窗体工程来讲,添加的是“现
44、存窗体”而不是“新创建的窗体”。方法是:单击“工程”菜单下的“添加窗体”命令,在调出的“添加窗体”的对话框(如上图1.25(b))中,单击“现存”选择框,则弹出“添加窗体”对话框,如图1.27所示,选择所需要添加的窗体,然后单击“打开”按钮,即可在当前工程中添加一个现存的窗体,反复按照此方法进行操作,就可实现在工程中添加多个“现存窗体”。 图1.27 添加现存窗体【例1.1】设计一个有两个窗体的程序。窗体的名称分别为“窗体Form1”和“窗体Form2”;两个窗体的显示标题分别为“多重窗体之一:Form1”和“多重窗体之一:Form2”;设置“窗体Form2”为启动窗体。程序运行后,单击 “窗
45、体Form2”时,该窗体消失,显示 “窗体Form1”;单击 “窗体Form1”时,则该窗体消失,显示“窗体Form2”。也就是说,实现单击某个窗体时,窗体自身消失,而另一个窗体显示的操作。 操作步骤:步骤一 创建具有两个窗体的工程 按照上述直接创建多重窗体的方法创建具有两个窗体的工程,见图1.28(a)。注意资源管理器窗口,见图1.28(b)。 系统默认的Name属性值(窗体窗口的显示标题)系统默认的Caption属性值(窗体的显示标题)图1.28 (a)具有两个窗体的工程 图1.28(b) 工程资源管理器窗口 步骤二 设置窗体属性设置两个窗体的属性,属性值设置见表1.4,其余属性的属性值均
46、保持不变。表1.4 【例1.1】相关属性值的设置对象名称属性属性值Form1Name(名称)窗体Form1Caption多重窗体之一:Form1Form2Name(名称)窗体Form2 Caption多重窗体之一:Form2 属性值设置后用户界面如图1.29(a)所示。同时注意资源管理器窗口(图1.29(b)、窗体窗口标题栏和窗体标题栏的变化。 重新设置的Name属性值(窗体窗口的显示标题)重新设置的Caption属性值(窗体的显示标题) 图1.29(a)设置属性值之后的用户界面 图1.29(b)设置属性值之后的工程资源管理器窗口 步骤三 设置启动窗体设置“窗体Form2”为启动窗体。 步骤四
47、 编写事件驱动代码两窗体的事件驱动代码见图1.30(a)和图1.30(b)的代码窗口。代码窗口的显示标题和窗体的Name属性取值一致;而事件过程Form_Click()过程名中的对象名并不与对象(这里指窗体)的Name属性取值一致,而是Form。 代码窗口的显示标题和Name属性取值一致 图1.30(a) 窗体Form1的Click事件过程 图1.30(b) 窗体Form2的Click事件过程 步骤五 运行程序程序运行后,首先显示启动窗体“窗体Form2”,见图1.31(a);单击该窗体后,窗体自身消失,而显示“窗体Form1”,见图1.31(b);如此反复,即可实现单击某个窗体,窗体自身消失
48、,而显示另一个窗体。 图1.31(a) 窗体Form2 图1.31(b) 窗体Form1 从图1.31(a)和图1.31(b)中分别可以看出:窗体Form2的显示标题为:“多重窗体之一:Form2”;窗体Form1的显示标题为“多重窗体之一:Form1”。通过上述例题,读者应注意以下知识点: 注意Name属性和Caption属性的区别。 掌握创建具有多重窗体的工程的方法。 如何设置启动窗体。 在工程中添加窗体后,注意资源管理器窗口内容的变化。 掌握窗体“方法”的使用情况。如本例的Show方法和Hide方法。 1.4 Visual Basic简介 为了便于以后的深入学习,本小节从概念上、理论上使
49、读者系统的了解什么是Visual Basic程序设计语言 1.4.1 什么是Visual BasicVisual Basic中的Visual是“视觉的;栩栩如生的”的意思;而Basic的全称是:“Beginners All-Purpose Symbolic Instruction Code”,中文含义是“初学者通用符号指令代码”。读者从Visual Basic的中英文含义对该语言的特色应该略知一二。Visual Basic语言是由Microsoft(微软)公司在Basic语言基础上推出的可视化的程序开发语言,它继承了Basic语言简单易学的特点,又在其编程系统中引入了面向对象与事件驱动的机制,
50、提供了一种可视界面的设计方法。 1.4.2 Visual Basic版本介绍Visual Basic 1.0是于1991年由Microsoft(微软)公司推出的。以后,Microsoft公司不断修改该语言的一些缺陷,并且不断增加新的功能,先后又推出了VB2.0、VB3.0 、VB4.0、VB5.0、VB6.0和VB.NET多个版本。其中,VB1.0到VB4.0主要应用于DOS和Windows 3.X环境的16位程序的开发;VB5.0以上版本是32位应用程序开发工具,由于其性能原因,只能运行在Windows 9X、Windows 2000、Windows XP或Windows NT环境下。在我国
51、,目前使用最多的是Microsoft Visual Basic 6.0中文版(简称VB6.0)。为了满足特定的开发需要,Visual Basic有学习版、企业版和专业版三种版本,分别适合于不同的用户层次。三种版本中,企业版功能最全,其次是专业版,最后是学习版;企业版包括专业版的全部功能,专业版又包括学习版的全部功能。1.4.3 VB的面向对象程序设计机制Visual Basic是一种能尽快被应用见效的,并且具有可视化和面向对象程序设计机制的编程语言。它一方面继承了早期Basic语言易学易用的特点;另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用巧妙的技术把Windows的编程复杂性
52、封装起来,提供了一种所见即所得的可视化程序设计工具。要了解VB的面向对象程序设计机制,首先要了解什么是面向对象,下面通过对面向对象概念的介绍,来简单了解Visual Basic语言的程序设计机制,为以后的深入学习作必要的理论指导。 1 面向对象传统的程序设计是面向过程的,程序是按照预定的步骤,一步一步执行的;而VB采用的是面向对象的程序设计机制,是一种新的程序设计理念,以对象(对象的概念在前面小节中已介绍过)为核心进行程序设计的,通过对对象事件的随机驱动来执行程序,并不一定要按照事先设计好的流程来运行。 2 VB的面向对象程序设计机制 我们知道,在VB中,整个应用程序被看作是对象,用于界面设计
53、的窗体、各种控件和菜单等也都看作是对象,程序代码也被看作是对象,程序设计是以对象为核心的。在VB的面向对象程序设计机制中,采用大量的封装技术,将许多计算机内部的技术的实现细节隐藏起来,把对象的静态属性(数据)和动态操作(方法)封装在一起,使之成为一体,每个对象都作为一个完整的独立组件出现在程序中,只要通过对对象静态属性值的设置和对象的方法进行调用,就可实现所需功能。VB应用程序的开发可以分为两步: 第一步 设计用户界面编程者只要将工具箱中所需的控件对象添加到窗体上,调整好位置和大小,并在属性窗口设置对象属性值,就可以制作出美观的用户界面,设计过程中所见到的界面与最终程序运行的界面几乎完全相同。
54、读者可以将【引例】设计过程中的用户界面图1.1(a)和运行后的用户界面图1.1(b)作一比较。这是一种“所见即所得”的可视化程序设计方法,编程者不必关心图形界面是如何在屏幕上显示和处理等实现细节,而是将精力更多的集中到特定应用问题的解决上,这样大大简化了程序员设计界面的工作量,提高了编程效率。 第二步 编写对象(窗体、控件等)事件驱动代码当用户界面设计好之后,应用程序只能称为“界面”,并不能实现什么实质性的功能,要使应用程序真正有用,就需要为必要的对象(如窗体、命令按钮或菜单等)编写事件驱动代码。编写对象事件驱动代码是程序员的主要任务。在VB中,程序代码一般较短,但可以实现强大的功能。不过程序代码内部还是采用结构化的程序设计思想,继承了QBASIC语言的特点,且易于维护,初学者只要掌握几个关键字就可以编写对象事件驱动代码。1.5 MSDN Library读者可能注意到,当你安装完Visual Studio 6.0或Visual Ba
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版吊车出租月包服务安全协议书3篇
- 2024年度音响舞台设备运输保险合同3篇
- 2024年度汽车抵押贷款及二手车评估合同2篇
- 2024版住宅买卖委托代理服务合同书3篇
- 2024年环保设施运营协议
- 2024版带信用评分体系的带担保贷款合同范本3篇
- 《拉丁舞对中老年女性平衡能力影响的研究》
- 《冠心病患者中性粒细胞-淋巴细胞比值与心外膜脂肪组织的关系》
- 2024年度影视剧临时演员权益保障合同3篇
- 《PAPP-A、hs-CRP、sCD40L、IL-6及BNP在急性冠脉综合症中的诊断价值》
- (正式版)JBT 5300-2024 工业用阀门材料 选用指南
- 【教案】2023年全国高考数学新课标Ⅱ卷第11题说题稿
- 一例压力性损伤的个案护理
- 河南省郑州市2023-2024学年高二上学期期期末生物试题【含答案解析】
- 经方论治冠心病九法
- 《体育校本课程的建设与开发》课题研究实施方案
- 抵制不健康读物“读书与人生”
- (医学课件)带状疱疹PPT演示课件
- 特种设备使用单位落实使用安全主体责任监督管理规定(第74号)宣贯
- 人工智能与生命科学融合
- 小学生愤怒情绪管理策略
评论
0/150
提交评论