第2章VB可视化编程基础2.1VB对象的概念2.1.1对象和类对象指现实世界中的实体。如一个人、一辆汽车、一台电脑、一份报表等。每个对象有自已的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。例如人具有身高、体重等特征,具有行走、说话等行为,外界作用在人对象上的各种活动,如下雨等。类的概念在现实世界中,许多对象具有相似的性质,执行相同的操作,称之为同一类对象。类是对同一种对象的集合与抽象。如人类是“人”的抽象。类是创建对象实例的模板,对象则是类的一个实例。类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。VB中的类和对象VB工具箱中的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。例如:工具箱内的TextBox是类(它确定了TextBox的属性、方法和事件)窗体上显示的是两个TextBox对象x工程I-Foral(For)口XGeneralForal0AAablTextBox类TextRCE1Text图对象口00日O国吧2.1.2对象的属性、事件和方法属性、事件和方法构成对象的三要素属性存放对象的数据(决定对象外观及功能)例如,控件名称、文本、大小等属性。对象属性的设置方法:设计阶段利用属性窗口直接设置属性值程序运行时通过语句对象名.属性名=属性值例如:Commandl.Caption="确定”注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。事件事件:发生在对象上的事情,同一事件,对不同的对象,会引发不同的反应:教师_铃声(学生铃声(其他人员_铃声()讲课听讲可不于响应End SubEnd SubEnd Sub
第 2 章 VB 可视化编程基础 2.1 VB 对象的概念 2.1.1 对象和类 对象指现实世界中的实体。如一个人、一辆汽车、一台电脑、一份报表等。 每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。 例如人具有身高、体重等特征,具有行走、说话等行为,外界作用在人对象上的各种活 动,如下雨等。 类的概念 在现实世界中,许多对象具有相似的性质,执行相同的操作,称之为同一类对象。类是 对同一种对象的集合与抽象。 如人类是“人”的抽象。类是创建对象实例的模板,对象则是类的一个实例。 类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重 要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。 VB 中的类和对象 VB 工具箱中的可视图标是 VB 系统设计好的标准控件类。通过将控件类实例化,得到真 正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。 例如:工具箱内的 TextBox 是类(它确定了 TextBox 的属性、方法和事件) 窗体上显示的是两个 TextBox 对象 2.1.2 对象的属性、事件和方法 属性、事件和方法构成对象的三要素 属性 存放对象的数据(决定对象外观及功能) 例如,控件名称、文本、大小等属性。 对象属性的设置方法: ❖ 设计阶段 利用属性窗口直接设置属性值 ❖ 程序运行时 通过语句对象名.属性名=属性值 例如:Command1.Caption = "确定" 注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。 事件 事件:发生在对象上的事情,同一事件,对不同的对象,会引发不同的反应: 教师_铃声() 学生_铃声() 其他人员_铃声() 讲课 听讲 可不于响应 End Sub End Sub End Sub Text 对象 TextBox 类
VB为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus、按下键盘KeyPress等。事件过程事件过程应用程序处理事件的步骤应用程序设计的主要工作就是为对象编写事件过程的代码。事件过程的形式如下:Sub对象名_事件(参数)事件过程代码End Sub例:单击按钮,使Text1的字体为20磅。模板产生Sub Command1ClickO-Textl.FontSize = 2Q用户输入End Sub一个动作可能同时发生多个事件。例如单击鼠标同时发生了:Click、MouseDown、MouseUp事件编程时,只要对需要的事件过程编码。注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。事件驱动程序执行的次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。VB程序的执行步骤如下:①启动应用程序,装载和显示窗体:②窗体(或窗体上的控件)等待事件的发生:③事件发生时,执行对应的事件过程:④重复执行步骤②和③。方法面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为:[对象.]方法【参数名表]若省略对象,表示当前对象,一般指窗体。例如:Textl.SetFocus此语句使Text1控件获得焦点,光标在本文框内闪烁。2.2窗体和基本控件窗体和控件具有基本属性例 2. 1 (1)Name名称属性所创建的对象名称,在程序中引用。(2)Caption标题属性该属性决定了对象上显示的内容。(3)Height、Width、Top和Left属性决定对象的高度、宽度,和位置。(4)Enabled属性对象是否允许操作(5)Visible属性对象是否可见(6)Font属性组文本的外观FontName字体、FontSize大小
VB 为对象预先定义了一系列的事件。例如,单击 Click、获取焦点 GotFocus 、按下 键盘 KeyPress 等。 事件过程 事件过程 应用程序处理事件的步骤 应用程序设计的主要工作就是为对象编写事件过程的代码。事件过程的形式如下: Sub 对象名_事件(参数) . 事件过程代码 End Sub 例:单击按钮 ,使 Text1 的字体为 20 磅。 Sub Command1_Click() Text1.FontSize = 20 End Sub 一个动作可能同时发生多个事件。例如单击鼠标同时发生了: Click、MouseDown、MouseUp 事件 编程时,只要对需要的事件过程编码。 注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代 码。 事件驱动 程序执行的次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。 VB 程序的执行步骤如下: ① 启动应用程序,装载和显示窗体; ② 窗体(或窗体上的控件)等待事件的发生; ③ 事件发生时,执行对应的事件过程; ④ 重复执行步骤②和③。 方法 面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。 方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为: [对象.]方法 [参数名表] 若省略对象,表示当前对象,一般指窗体。 例如:Text1.SetFocus 此语句使 Text1 控件获得焦点,光标在本文框内闪烁。 2.2 窗体和基本控件 窗体和控件具有基本属性 例 2.1 (1) Name 名称属性 所创建的对象名称,在程序中引用。 (2) Caption 标题属性 该属性决定了对象上显示的内容。 (3) Height、Width、Top 和 Left 属性 决定对象的高度、宽度,和位置。 (4) Enabled 属性 对象是否允许操作 (5) Visible 属性 对象是否可见 (6) Font 属性组 文本的外观 FontName 字体、FontSize 大小 用户输入 模板产生
FontBold粗体、FontItalic斜体、FontStrikethru删除线、FontUnderline下划线(7)ForeColor属性前景颜色(8)BackColor属性背景颜色(9)MousePointer鼠标指针类型设置值范围0~15,由系统指定。若为99,由用户提供的图形文件定义鼠标指针形状。(10o)MouseIcon属性在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在Graphics目录下。控件默认属性所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。控件默认属性控件默认属性文本框标签TextCaption命令按钮图形、图像框DefaultPicture单选按钮复选框ValueValue例如,下面两条语句是等价的:Textl.Text="Visual BASIC"Textl ="Visual BASIC"2.2.2窗体窗体是一块画布,是所有控件的容器,用户可以根据自已的需要利用工具箱上的控件在画布上画界面。窗体属性决定了窗体的外观和操作。图标标题最小化按钮最大化按钮IconCaptionMinButtonMaxButton窗体风控制菜单框白恢复?ControlBox边框样式移动)BorderStyle大小()一最小化)口最大化X关闭(C)Alt+F4窗体-事件常用的事件有Click、DblClick和Load。Load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。例2.2窗体无最大化按钮和最小化按钮,窗体启动时,在标题栏显示“装入窗体”,并装入一背景图:单击窗体装入另一图、双击窗体清除背景图,同时显示不同的文字。窗体-方法
FontBold 粗体、FontItalic 斜体、 FontStrikethru 删除线、 FontUnderline 下划线 (7) ForeColor 属性 前景颜色 (8) BackColor 属性 背景颜色 (9) MousePointer 鼠标指针类型 设置值范围 0~15,由系统指定 。若为 99,由用户提供的图形文件定义鼠标指针形状。 (10) MouseIcon 属性 在 MousePointer 属性值为 99 时,存放自定义的鼠标图标文件(.ico 或.cur)。图标库 在 Graphics 目录下。 控件默认属性 所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。 例如,下面两条语句是等价的: Text1.Text="Visual BASIC" Text1 ="Visual BASIC" 2.2.2 窗体 窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在 画布上画界面。 窗体属性决定了窗体的外观和操作。 窗体-事件 常用的事件有 Click、DblClick 和 Load。 Load 事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件, 该事件通常用来在启动应用程序时对属性和变量进行初始化。 例 2.2 窗体无最大化按钮和最小化按钮,窗体启动时,在标题栏显示“装入窗体”, 并装入一背景图;单击窗体装入另一图、双击窗体清除背景图,同时显示不同的文字。 窗体-方法 控 件 默认属性 控 件 默认属性 文本框 命令按钮 单选按钮 Text Default Value 标签 图形、图像框 复选框 Caption Picture Value 标题 Caption 图标 Icon 最小化按钮 MinButton 最大化按钮 MaxButton 边框样式 BorderStyle 控制菜单框 ControlBox
使用方法的语法形式:【对象.]方法【参数列表]心Cls方法清除运行时在窗体或图形框中产生的文本或图形,C1s方法不能清除窗体在设计时的文本和图形*Move方法可移动窗体或控件,并可改变其大小。语法格式如下:[对象.]Move左边距离[,上边距离[,宽度L,高度]]]]2.2.3标签标签用来显示文本信息(不能输入)例2.3标签属性演示2.2.4文本框文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。(1)Text显示或输入的正文内容(2)Maxlength设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。(3)MultiLine多行属性设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。(4)Scrol1Bars滚动条属性ANone无滚动条Horizontal水平滚动条AVertical垂直滚动条ABoth同时加水平和垂直滚动条当MultiLine为True时,ScrollBars才有效(5)PassWordChar设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。当MultiLine为True时,该属性不起作用,密码不允许多行。(6)Locked指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。(7)文本内容进行选择操作SelStart选定的正文开始位置SelLength选定的正文长度SelText选定的正文内容这3个属性互相关联,例如设置SelStart、SelLength后,SelText自动存放指定的文本。例2.4利用属性实现文本信息的复制。文本框-事件(1)Changed事件当Text属性值发生改变时引发该事件例在文本框每输入一个字符就引发一次事件(2)KeyPress事件
使用方法的语法形式: [对象.]方法 [参数列表] ❖ Cls 方法 清除运行时在窗体或图形框中产生的文本或图形, Cls 方法不能清除窗体在设计时 的文本和图形 ❖ Move 方法 可移动窗体或控件,并可改变其大小。 语法格式如下: [对象.]Move 左边距离[,上边距离[,宽度[,高度]]] 2.2.3 标签 标签用来显示文本信息(不能输入) 例 2.3 标签属性演示 2.2.4 文本框 文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。 (1) Text 显示或输入的正文内容 (2) Maxlength 设置文本框可输入的文字最大长度。默认值为 0,表示可以输入任意 长字符串。 注意:在 VB 中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长 度为 1。 (3) MultiLine 多行属性 设置为 True 时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功 能,按 Enter 键可插入一空行。 (4) ScrollBars 滚动条属性 None 无滚动条 Horizontal 水平滚动条 Vertical 垂直滚动条 Both 同时加水平和垂直滚动条 当 MultiLine 为 True 时,ScrollBars 才有效 (5) PassWordChar 设置显示文本的替代符。例如,当设置为“*”,则在文本框输入 的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。 当 MultiLine 为 True 时,该属性不起作用,密码不允许多行。 (6) Locked 指定文本控件是否可被编辑,默认值为 False(可编辑),当设置为 True 时,文本控件相当于标签控件的作用。 (7)文本内容进行选择操作 SelStart 选定的正文开始位置 SelLength 选定的正文长度 SelText 选定的正文内容 这 3 个属性互相关联,例如设置 SelStart、SelLength 后,SelText 自动存放指定的文 本。 例 2.4 利用属性实现文本信息的复制。 文本框-事件 (1) Changed 事件 当 Text 属性值发生改变时引发该事件 例 在文本框每输入一个字符就引发一次事件 (2) KeyPress 事件
按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数KeyAscii中例对回车的判断KeyAscii=13(3)LostFocus事件对象失去焦点时发生LostFocus事件该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。(4)GotFocus事件GotFocus事件与LostFocus事件相反,当一个对象获得焦点时发生文本框方法文本框最有用的方法是SetFocus,把光标移到指定的文本框中。其形式如下:[对象.]SetFocusSetFocus还可以用于如CheckBox、CommandButton、ListBox、ComboBox等控件。例2.5对输入的数据进行合法性检验,过滤不合法的数据。2.2.5命令按钮用于程序运行时执行相应的事件1.属性(1)Caption命令按钮上显示的文字(2)Style按钮样式0-Standard:默认,按钮上不能显示图形1 :Graphical:按钮上可以显示图形和文字(3)Picture在按钮装入图形(4)ToolTipText加以文字提示2.事件命令按钮一般接收Click事件2.3综合应用例2.6建立一个类似记事本的应用程序,提供:(1)剪切、复制和粘贴的编辑操作(2)字体大小的格式设置分析:(1)建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。(2)利用文本框的SelText属性实现“剪切、复制和粘贴”的编辑操作。(3)“格式”设置利用Font对象实现。本章小节类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。5对象三要素:属性、事件、方法面窗体是所有控件的容器基本控件标签、文本框、命令按钮
按下并且释放键盘上的一个键时,引发焦点所在控件的 KeyPress 事件,所按键的值存 放在参数 KeyAscii 中 例 对回车的判断 KeyAscii=13 (3) LostFocus 事件 对象失去焦点时发生 LostFocus 事件 该事件主要是用来对数据进行验证和确认,常用于检查 Text 属性的内容。 (4) GotFocus 事件 GotFocus 事件与 LostFocus 事件相反,当一个对象获得焦点时发生 文本框-方法 文本框最有用的方法是 SetFocus,把光标移到指定的文本框中。其形式如下: [对象.] SetFocus SetFocus 还可以用于如 CheckBox、CommandButton、ListBox、ComboBox 等控件。 例 2.5 对输入的数据进行合法性检验,过滤不合法的数据。 2.2.5 命令按钮 用于程序运行时执行相应的事件 1. 属性 (1) Caption 命令按钮上显示的文字 (2) Style 按钮样式 0 —— Standard:默认,按钮上不能显示图形 1 —— Graphical:按钮上可以显示图形和文字 (3) Picture 在按钮装入图形 (4) ToolTipText 加以文字提示 2. 事件 命令按钮一般接收 Click 事件 2.3 综合应用 例 2.6 建立一个类似记事本的应用程序,提供: (1) 剪切、复制和粘贴的编辑操作 (2) 字体大小的格式设置 分析: (1) 建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本 框有初始值。 (2) 利用文本框的 SelText 属性实现“剪切、复制和粘贴”的编辑操作。 (3) “格式”设置利用 Font 对象实现。 本章小节 类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定 义,是创建对象实例的模板。 对象三要素:属性、事件、方法 窗体 是所有控件的容器 基本控件 标签、文本框、命令按钮