780 likes | 989 Views
项目 1 设计制作电话查询系统. 1.1 使用常用控件 1.2 实例训练 1.3 项目分析 1.4 设计功能模块. 本项目训练的目的. 让学生初识 VB ; 熟悉 VB 常用控件的属性、事件和方法; 了解界面设计原则和创建应用程序的基本步骤; 体会编程思路和程序设计技巧; 利用 VB 创建简单应用程序。. 开始 - 程序 -Microsoft Visual Basic 6.0 中文版 - “ 新建工程 ” 对话框 - 双击 “ 标准 EXE ”. 1.1.1 集成开发环境. 1.1.1 集成开发环境. 主窗口. 工程资源管理器. 工具箱.
E N D
项目1 设计制作电话查询系统 1.1 使用常用控件 1.2 实例训练 1.3 项目分析 1.4 设计功能模块
本项目训练的目的 让学生初识VB; 熟悉VB常用控件的属性、事件和方法; 了解界面设计原则和创建应用程序的基本步骤; 体会编程思路和程序设计技巧; 利用VB创建简单应用程序。
开始-程序-Microsoft Visual Basic 6.0中文版-“新建工程”对话框-双击“标准EXE” 1.1.1集成开发环境
1.1.1 集成开发环境 主窗口 工程资源管理器 工具箱 窗体设计器 属性窗口 代码窗口 窗体布局窗口
1.1.3 面向对象的基本概念 • 对象是代码和数据的组合 • 类是对象的抽象 • 属性用于描述对象的静态特征 • 方法是对象能够执行的一个操作 • 事件是窗体或控件识别的动作
1.1.3 面向对象的基本概念 类是对象的抽象,定义对象的特征和描述对象的外观与行为,类是产生对象的模板。对象是一个具有属性和方法的实体,是类的一个实例。事件是对象识别的一个动作(由用户或系统激活)。方法是对象能够执行的一个操作(行为)。属性用于描述对象所具有的性质和特点(特征)。控件用以显示数据、执行操作的一种图形对象。
1.1.3 面向对象的基本概念 1.对象的基本属性 Name属性:用于标识对象的名字。 Caption属性:用于标识对象的标题。 Enabled属性:使对象成为有效或无效。 Visible属性:使对象成为可见或隐藏。 Font属性:为指定对象上显示的文本设置字体属性,包括字体(FontName)、字号(FontSize)、字形(FontBold、FontItalic)等。
1.1.3 面向对象的基本概念 颜色属性: BackColor:背景颜色属性 ForeColor:前景颜色属性 BorderColor:边框颜色属性 FillColor:填充颜色属性 BackStyle:背景样式属性它指定标签控件或形状控件的背景是否透明。 BorderStyle:边框样式属性,用来设置对象的边框样式。
1.1.3 面向对象的基本概念 MousePointer 属性:用来设置在运行时,当鼠标移动到对象的一个特定部分时,被显示的鼠标指针的类型。设置值的范围一般在0~15之间。当值设为99时,可以通过MouseIcon 属性所指定的自定义图标。 MouseIcon 属性:用来设置自定义的鼠标图标,图标文件类型为.ico或.cur,图标文件在安装目录的Graphics文件夹中。该属性在MousePointer 属性值为99时有效。
1.1.3 面向对象的基本概念 Alignment 属性:该属性决定CheckBox 或OptionButton 控件、控件中的文本的对齐方式。 AutoSize 属性:该属性决定控件是否具有自动改变大小以显示其全部内容的功能。其设置值为True时,自动改变控件大小以显示全部内容。False(缺省值)时保持控件大小不变。超出控件区域的内容被裁剪掉。 WordWrap 属性:指示一个 AutoSize 属性设置为 True 的 Label 控件,是否要进行水平或垂直展开以适合其 Caption 属性中指定的文本的要求。
1.1.3 面向对象的基本概念 TabIndex属性:设置父窗体中大部分对象在按tab 键时获得焦点的次序。 注意: 每个控件都有一个缺省属性,引用时可以省略不写,如标签的默认属性为Caption,文本框的默认属性为Text。代表当前窗体的Me也可以省略不写。
1.1.3 面向对象的基本概念 • 【例1.1】缺省属性应用示例。 • 在窗体上添加两个命令按钮,在命令按钮的单击事件中添加代码,程序运行时,分别单击两个命令按钮,观察标签的显示结果相同。 • Private Sub Command1_Click() • Me.Label1.Caption = "欢迎" • End Sub • Private Sub Command2_Click() • Label1 = "欢迎" • End Sub
1.1.3 面向对象的基本概念 2.标准控件(内部控件) 默认状态下工具箱中显示的控件都是内部控件,不能进行删除和添加操作。命令按钮、文本框和复选框等都属于内部控件。 3.ActiveX控件 ActiveX部件是可以重复使用的编程代码和数据,是由ActiveX技术创建的一个或多个对象所组成的、以.ocx为扩展名的独立文件。 4.可插入对象 可插入对象是Windows应用程序的对象,如Microsoft Word文档,可以将可插入对象添加到工具箱中,像使用标准控件一样使用。
1.1.4 控件的操作 Visual Basic 中的每个对象都是用类定义的。在Visual Basic 的“工具箱”上,控件代表类。在窗体上画出这些被称作控件的对象,就建立了控件类的实例。这个类实例就是应用程序中引用的对象。 如果在窗体上画了三个命令按钮,则每个命令按钮对象都是命令按钮类的实例。 每个对象都具有一组由类定义的公共的特征和功能。但是,每个对象都有自己的名字,都能分别设置成有效或无效,都能放在窗体的不同位置。
1.1.5 窗体的属性、事件及方法 1、窗体文件 窗体文件的文件扩展名(.frm) 2、窗体的常用属性 Caption 属性:决定窗体标题栏中显示文本。 MaxButton 和MinButton 属性:决定窗体是否能最大化或最小化。 BorderStyle 属性:可控制窗体如何调整大小。 Height 和Width 属性:决定的窗体初始大小。 Left 和Top 属性:根据屏幕的左上角确定窗体的位置。 WindowState 属性:可以把窗体设成在启动时最大化、最小化或正常大小。
1.1.5 窗体的属性、事件及方法 Name 属性:设置窗体的名称,在代码中用这个名称引用该窗体。 说明: 首次在工程中添加窗体时,该窗体的名称被缺省为Form1;添加第二个窗体,其名称被缺省为Form2,以此类推。最好给Name 属性设置一个有实际意义的名称,如给一个浏览窗体命名为 “frmbrow”。
1.1.5 窗体的属性、事件及方法 3、窗体常用事件和方法 Resize 事件:在调整窗体的大小时触发。 Paint 事件:在一个对象被移动或放大之后,或在一个覆盖该对象的窗体被移开之后,该对象部分或全部暴露时,此事件发生。 Activate 事件:当窗体变成活动窗体时产生。 Deactivate 事件:当另一个窗体或应用程序被激活时产生。 Click 事件:在一个对象上按下然后释放一个鼠标按钮时发生。 DblClick 事件:对于窗体而言,当双击被禁用的控件或窗体的空白区域时发生。
1.1.5 窗体的属性、事件及方法 Load事件:在一个窗体被装载时发生,在Intialize 事件之后发生。 Unload事件:在一个窗体被卸载时发生。 QueryUnload 事件:在一个窗体或应用程序关闭之前发生。先触发QueryUnload 事件再触发该窗体的Unload 事件发生。 Show 方法:要使一个窗体可见时调用。 Hide方法:隐藏窗体。 Cls 方法:清除运行时Form 或PictureBox 所生成的图形和文本。 Move方法:将窗体移动到某个位置。 Print 方法:在窗口中显示文本。
1.1.5 窗体的属性、事件及方法 说明: (1) 在Activate 事件中,可以编写代码突出显示一个特定文本框中的文本,在Deactivate 事件中,可以把更改保存到一个文件或数据库中。 (2) 调用Show 方法与设置窗体Visible 属性为True 具有相同的效果。 (3) 窗体的许多方法都调用文本或图形。Print、Line、Circle 和Refresh 方法可用于直接在窗体表面上写和画。 (4) 为区别鼠标的左、中、右按钮,应使用MouseDown 和MouseUp 事件。
1.1.6 标签控件 1.标签的常用属性 Caption 属性:设置Label 控件中显示的文本。 Alignment 属性:排列文本。 AutoSize 和WordWrap 属性:缺省情况下,当输入到Caption 属性的文本超过控件宽度时自动换行,超过控件高度时超出部分将被裁剪掉。为使控件能够自动调整以适应内容多少,可将AutoSize 属性设置为True。这样控件可水平扩充以适应Caption 属性内容。为使Caption 属性的内容自动换行并垂直扩充,应将WordWrap 属性设置为True。 2.标签的常用事件 Label 控件可以接受Click、DblClick和Change事件。
1.1.6 标签控件 【例1.2】设计浮雕效果图。 本例说明标签控件的使用方法。通过移动两个不同颜色标签在窗体上出现的位置,使其基本重叠,形成浮雕效果,运行界面如图1-4所示。 首先在窗体上绘制两个标签,修改标签的相关属性实现浮雕效果。修改标签的属性有两种方法,一种是在设计状态下直接改变两个标签的属性,另一种是用编程实现。
程序代码如下: Private Sub Form_Click() Me.Caption = "浮雕效果" Me.Label1.Caption = "VB训练“ Me.Label1.AutoSize = True Me.Label1.FontSize = 60 Me.Label1.FontBold = True '黑体 Me.Label1.ForeColor = vbWhite '白色 Me.Label1.BorderStyle = 1 '凹陷式 Me.Label1.Left = 300 Me.Label1.Top = 300 Me.Label2.Caption = "VB训练" Me.Label2.AutoSize = True Me.Label2.FontSize = 60 Me.Label2.FontBold = True Me.Label2.ForeColor = vbBlack '黑色 Me.Label2.BackStyle = 0 '透明 Me.Label2.Left = 370 Me.Label2.Top = 370 End Sub • 1.1.6 标签控件
1.1.7 命令按钮控件 1。命令按钮的常用属性 Caption 属性:改变命令按钮上显示的文本。 Font 属性:设置命令按钮上显示的字体。 Default 属性:按下 ENTER 键等价按下了其设置为True 的命令按钮。 Cancel 属性:按下 ESC 键等价按下了其设置为True 的命令按钮。 Value 属性:设置为True 时触发Click 事件。 ToolTipText属性:鼠标指向命令按钮时,允许显示一个提示框,该属性值是提示框的字符串。
1.1.7 命令按钮控件 Style属性:设置命令按钮的外观样式0为默认值, 1为图形样式,允许在其上放置图片。 Picture属性:指定放在其上的图片Style=1)。 DisabledPicture属性:当命令按钮无效时,显示在命令按钮上的图片(Style=1)。 DownPicture属性:当命令按钮被按下时,显示在命令按钮上的图片(Style=1)。 2.命令按钮的常用事件 GotFocus事件:对象获得焦点时发生。 LostFocus事件:对象失去焦点时发生。 Click 事件:单击对象时发生。
1.1.7 命令按钮控件 • 【例1.3】命令按钮Value属性应用示例。 • 在窗体上添加两个命令按钮,在命令按钮的单击事件中添加代码,程序运行时,分别单击两个命令按钮,观察窗体的显示结果相同。 • Private Sub Command1_Click() • Print "你好" • End Sub • Private Sub Command2_Click() • Me.Command1.Value = True • End Sub
1.1.7 命令按钮控件 • 2。创建键盘快捷方式 • 可通过Caption 属性创建命令按钮的访问键快捷方式,为此,只需在作为访问键的字母前添加一个连字符(&)。运行时,同时按 ALT+字母键可以选定命令按钮。 • 3。选定命令按钮 • (1) 用鼠标单击按钮。 • (2) 按TAB 键,将焦点转移到按钮上,然后按SPACEBAR 或ENTER 键选定按钮。
1.1.7 命令按钮控件 (3) 按命令按钮的访问键(ALT+ 带有下划线的字母)。 (4) 假如命令按钮是窗体的缺省命令按钮,则可按ENTER 键选定按钮,即使已把焦点转移到其它控件上,情况也是如此。 (5) 假如命令按钮是窗体的缺省取消按钮,则可按ESC 键选定按钮,即使已把焦点转移到其它控件上,情况也是如此。
1.1.8 文本框控件 TextBox控件用于显示设计时用户输入的、或运行时在代码中赋予控件的信息。 1.文本框的常用属性 Text属性:输入存放在文本框内的字符串,其默认值为“Text1”、“Text2”等。 MaxLength 属性:设置文本框内为本的最大长度,用户可按需要设置最大长度。 MultiLine 属性:设置是否允许存放多行文本。默认值为False,只允许存放一行文本。当没有水平滚动条时,多行文本使一个长的字符串自动换行。
1.1.8 文本框控件 • ScrollBars 属性:设置文本框内是否有滚动条。 • 其中: • 0——无滚动条(默认值) • 1——只有水平滚动条 • 2——只有垂直 • 3——有这两个 • Locked属性:锁定文本内容,防止更改。默认值为False。该属性设置为Ture时不响应键盘输入,变为只读文本框,但仍可通过Text属性改变文本框中的内容。
1.1.8 文本框控件 SelLength属性:选定字符串文本长度。 SelStart属性:选定文本的开始位置。若没有选定文本,则指示插入点的位置。 SelText 属性:其值为一个字符串,等于文本框内被选定的文本。 ToolTipText :设置提示框文本同命令按钮。 PassWordChar :密码替换符如可用“*”来替代输入的密码,当其为空(默认),则文本框不作为输入密码使用。
1.1.8 文本框控件 2.文本框的常用事件 KeyPress事件:按下并放开键盘上字符键时触发该事件,该事件返回一个ASCLL参数。例如,键入字符“A”时,返回的ASCLL值为65;当ASCLL值为13时,表示输入了一个回车符。 KeyDown事件:按下键盘上任意键时触发。 KeyUp事件:松开键盘上任意键时触发该事件。 MouseMove事件:移动鼠标时触发该事件。 Change事件 :文本框内文本发生改变时触发。
1.1.8 文本框控件 • 【例1.4】文本框Change事件应用示例。 • 在窗体上添加两个文本框,程序运行时,在第一个文本框中输入数据,第二个文本框会出现同样的字符串。 • Private Sub Text1_Change() • Me.Text2.Text = Me.Text1.Text • End Sub • 3.常用方法 • SetFocus方法:用来将光标从其他位置移动到文本框中。
1.1.8 文本框控件 【例1.5】文本框SetFocus方法应用示例。 在窗体上绘制一个文本框和两个命令按钮,在命令按钮的单击事件中输入如下代码,程序运行时,在文本框中输入数据“123”后单击命令按钮1时,窗体显示进入,在文本框中输入的数据不是“123”时,单击命令按钮1后窗体显示退出;单击命令按钮2可清空文本框中的数据并使文本框获得焦点(if语句格式见VB基本语句)。
1.1.8 文本框控件 • Private Sub Command1_Click() • If Me.Text1.Text = "123" Then • Print "进入" • Else • Print "退出" • End If • End Sub • Private Sub Command2_Click() • Me.Text1.Text = "" • Me.Text1.SetFocus • End Sub
1.1.9 定时器控件 Timer 控件可用来在一定的时间间隔自动执行某些操作。Timer 控件只在设计时出现在窗体上,运行时不可见。 Timer 控件有两个关键属性: Enabled属性:若希望窗体在加载定时器就开始工作,应将此属性设置为True。 Interval属性:指定定时器事件之间的毫秒数。间隔的取值可在0 到65535之间。 注意:将Enabled 设置为False或将Interval设置为0时就会暂停定时器操作。
1.1.9 定时器控件 1.列表框的常用属性 Text属性:为只读属性,返回列表框中被选择的项目。如果列表框的名称为Listl,则Listl.Text的值总是与List1.List(Listl.ListIndex)的值相同。 ListIndex属性:返回或设置列表框中当前选择项目的索引,在设计时不可用。列表框的索引从0开始, 若没有在列表框中选择项目,则Listlndex的值为-1。对于可以做多重选择的列表框,若同时选择了多个项目,ListIndex返回所选项目的最后一项的索引。
1.1.10 列表框控件 注:List1.Text等价List1.List(List1.ListIndex) ListCount属性:返回列表框中列表部分项目的总个数。ListCount属性值总是比最大的ListIndex值大1。 Sorted属性:指定列表项目是否自动按字母表顺序排序。 Selected属性:返回或设置在列表中的一个项的选择状态。该属性在设计时不可用。 MultiSelecl属性:返回或设置一个值,该值指示是否能够同时选择列表框中的多个项,以及如何
1.1.10 列表框控件 进行复选,在运行时是只读的。有以下几种取值: 0-None为缺省值,表示不允许复选。 1-Simple表示单击鼠标或按空格键可在列表中选择或取消选择列表项。 2-Extended表示按下Shift键并单击鼠标,或按下Shift健以及一个箭头键将在以前选择项的基础上扩展选择到当前选择项。按下Ctrl键并单击鼠标可在列表中选择或取消选择列表项。 2.列表框的常用事件 Click、DblClick、GotFocus、LostFocus等事件。
1.1.10 列表框控件 3.列表框的常用方法 AddItem方法:向列表框中添加新的项目,格式为:<对象名>.AddItem <项目>[,<索引>] 格式中的<索引>表示要添加的位置。当<索引>省略时,若Sorted属性设置为True,<项目>将添加到恰当的排序位置;若Sorted属性设置为False,<项目>将添加到列表的末尾。 RemoveItem方法:从列表框中移除项目,格式为:<对象名>. RemoveItem <索引> Clear方法:清除列表框中的所有项目。
【例1.6】窗体装载时为列表框添加两行字符串,单击命令按钮1加新字符串,单击命令按钮2,删除选中行,实现代码如下: 【例1.6】窗体装载时为列表框添加两行字符串,单击命令按钮1加新字符串,单击命令按钮2,删除选中行,实现代码如下: • Private Sub Form_Load() • Me.List1.AddItem "张三" '为列表框添加字符串 • Me.List1.AddItem "李四" • End Sub • Private Sub Command1_Click() • Me.List1.AddItem "加新字符串" • End Sub • Private Sub Command2_Click() • k = Me.List1.ListIndex '选中行的行号 • Me.List1.RemoveItem (k) '删除选中行 • End Sub
1.1.11 组合框控件 组合框的作用与列表框类似,只是组合框控件将文本框和列表框的特性结合在一起,既可以在控件的文本框部分输入信息,也可以在控件的列表框部分选择一项。 组合框可以将列表项折叠起来,使用时再通过下拉列表进行选择,所以使用组合框比使用列表框更节省界面空间。 Style属性:指定组合框的显示形式,有以下几种取值: 0为缺省值,组合框显示形式为下拉组合框,包括
1.1.11 组合框控件 一个文本框和一个下拉式列表。可以从列表中选择项目或在文本框中输人文本。该样式将选项折叠起来,当需要选择时,单击组合框旁边的下拉箭头,弹出选项列表,再用鼠标单击进行选择,选择后列表会重新折叠起来,只显示被选择的项目。 1表示组合框显示样式为简单组合框。该样式同样包括一个文本框和一个列表框,与下拉组合框不同的是,该样式不能将列表折叠起来。
1.1.11 组合框控件 2表示组合框显示形式为下拉列表框。这种样式仅允许从下拉列表中选择,不能在文本框中输入文本,列表可以折叠起来。 列表框的属性基本上都可用于组合框,但组合框不能实现多选。组合框在工具箱中的名称为ComboBox。
1.1.12 框架控件 框架控件(Frame)主要用做控件的容器,也用于修饰界面。使用框架的主要目的是将一个窗体中的各种功能进一步进行分类。通过设置Caption属性,向用户提示该组的主要功能,让用户区分各个选项。 放在框架容器中的控件跟随其容器移动,删除容器将同时删除其中的所有控件。当框架的Enabled或Visible属性设置为False时,框架中的所有对象将同时无效或隐藏。要将控件放在容器中,可以先选中容器,然后在容器中直接画控件。也可以将事先画好的控件复制到剪贴板,再选中容器,然后粘贴控件。
1.1.13 单选按钮控件 单选按钮控件(OptionButton),用于提供一个可以打开或关闭的选项。通过在Frame控件、PictureBox控件或者窗体这样的容器中绘制选项按钮控件,就可以把这些控件分组。同一容器中的选项按钮控件为一个组。运行时,在选择一个选项按钮时,同组中的其他选项按钮控件会自动取消选样。 1. 单选按钮的常用属性 Value属性:表示选项按钮的状态。Value属性为True时,表示选择了该按钮;Value属性为False
1.1.13 单选按钮控件 时,表示没有选择该按钮。Value属性的缺省值为False。 Alignment属性:决定选项按钮中的文本的对齐方式。Alignment属性为0-Left Justify时表示左对齐;1—Right Justify的表示右对齐。 Style属性:用于控制选项按钮的外观。可以将Style属性设置为1—Graphical使其显示成与命令按钮相同的形状,运行时按钮可以在按下和抬起两种状态间切换,这时还可以为其设置颜色或添加图形。
1.1.13 单选按钮控件 2.单选按钮的常用事件 选项按钮常用的事件为Click事件。当运行时单击选项按钮,使选项按钮从未选择状态变成选择状态时,或在代码中将一个选项按钮的Value属性从False改为True时,产生Click事件。可以在该事件过程中编写代码,表示选择该选项按钮时要执行的操作。有时不直接在选项按钮的事件过程中编写代码,只使用选项按钮进行选择,而在其他事件过程中根据选项按钮的Value值进行判断,以执行相应的操作。
1.1.14 复选框控件 复选框(CheckBox) 控件一般用于提供一个可以打开或者关闭的选项。选择复选框控件后,该控件将显示符号∨,而取消选择后,符号∨ 消失。也可以设置复选框使其处于第三种状态,即灰度状态。同样可以按功能对复选框进行分组,但同一组中的复选框可以有多个同时被选中。 复选框和选项按钮功能相似,但二者之间也存在重要差别。在一个窗体中可以同时选择任意数量的复选框控件,但是在一个组中,任何时候只能选择一个选项按钮。