




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 简单的VB程序设计 2.1 面向对象中的概念 一、对象和类 在面向对象的程序设计思想 中,自然界中所有事物(包 括计算机中的事物)都可以 被看作一个个的对象( Object)。这些对象可能属 于同一个类(Class),也 可能属于不同的类。 类:是同一事物的统称。 对象:是类的实例化。 如:下图 有三个类:人、纸片、桌子 有9个对象: Windows中的对象 当今的应用程序都是基于Windows的。即其界面都应当和Windows具有一 致性。而Windows界面中的几乎所有元素都可以看成对象。 二、对象的建立和编辑 有以下几个操作:建立、选定、删除、命名 我们以建立如下窗口为例来介绍 类型名前缀对象名举例 CheckBox复选框ChkchkReadOnly ComboBox组合框CbocboHobby commandButton命令按钮CmdcmdExit CommonDialog公共对话框DlgdlgFileOpen Control控件CtrctrCurrent Dagta数据DatdatBook DirListBox目录列表框DirdirSource DrvListBox驱动器列表框DrvdrvTarget FileListBox文件列表框FilfilSource Form窗体FrmfrmPassword Frame框架FrafraLanguage HScrollBar水平滚动条HsbhsbVolume Image图象ImgimgIcon Label标签LbllblHelpMessage Line直线LinlinVertical ListBox列表框LstlstPolicyCodes Menu菜单MnumnuFileOpen OptionButton单选框(选项钮)OptoptMale PictureBox图片框PicpicPhoto Shape形状ShpshpCircle TextBox文本框TxttxtName Timer定时器TmrtmrAlarm VScrollBar垂直滚动条vsbvsbAge 三、对象的属性、事件和方法-对象的三要素 1、属性:用来描述和反映对象特征的多个参数,而各个参数 值就是该对象的属性值。如:命令按钮的属性可以有:Name 、Caption、Color、Font 等 设置对象属性的方法: (1)在设计界面阶段利用属性窗口直接设置; (2)在程序代码中利用赋值实现。 格式为:对象.属性=属性值 如:Command1.caption=“确定” Label1.FontName=“黑体” Label1.FontSize=24 对象的通用属性 对象的位置和尺寸属性(见P23图1.2.8) (1)Left:控件相对于容器的X坐标; (2)Top:控件相对于容器的Y坐标; (3)Width:控件的宽度; (4)Height:控件的高度。 注意:能包含其它控件的控件称为容器(控件)。 对象的颜色和字体属性 (1)BackColor:设置控件的背景颜色; (2)ForeColor:设置控件里显示图片和文本的前景颜色; (3) Font:设置控件的文字字体 名称属性Name 该属性是所有对象都具有的属性,是唯一的,在创建时,系统会 给一个默认的名称,可根据需要进行修改。 注意:在程序代码中可以通过以下方法来设置颜色 使用RGB函数: 如:Form1.BackColor=RGB(255,0,0) 此处,RGB函数的三个参数分别对应红、绿、蓝三种颜色,取值在0- 255之间,0为亮度最低,255为亮度最高。 使用VB内部提供的颜色常量 VB内部可以直接使用的颜色常量有8种:vbBlack、vbRed、 vbGreen、vbYellow、vbblue、vbMagenta(紫红色)、vbCyan(青色)、 vbWhite 如:Form1.BackColor=vbMagenta 另外:Font有以下系列属性 FontName:字体类型。如:黑体、宋体、楷体等 FontSize:字体大小(磅)。如:8、12、16等 还有:fontBold(粗体)、FontItalic(斜体)、FontStrikethru(删除线)、 fontUnderline(下划线),这些属性值为逻辑型。 对象的默认属性 是指在运行时可以直接用某个对象的对象名来改变对象某个 属性值。一般情况下: (1)Caption:Form、Frame、Label、CommandButton等控件使 用。 (2)Text:Text、ListBox、ComboBox等控件使用 (3)Value:CheckBox、OptionButton、HScrellBar、VScrollBar 等控件使用。 这样,Text1.text=“计算机” 等价与 Text1=“计算机” 控件的可见和可用 (1)Enabled:设置一个控件是否可以使用。默认值为True。 (2)Visible:设置一个控件是否可以看见。默认值为True。 2、事件、事件过程和事件驱动 (1)事件 对于对象而言,事件就是发生在该对象上的事情(或消 息)。在VB中,系统为每种对象预先定义好了一系列事件 。以下是一些通用事件: Click事件:当一个控件上按下并放开鼠标时发生的事件。 DblClick:当鼠标被迅速按下并放开两次时发生的事件。 KeyPress事件:按下一个对应某ASCII字符的键时触发该事件 。 KeyDown事件:按下键盘的任意键触发该事件。 KeyUp事件:放开键盘的任意键触发该事件。 MouseMove事件:移动鼠标指针时触发该事件。 MouseDown事件:按下鼠标的任意键触发该事件。 MouseUp事件:放开鼠标的任意键触发该事件。 GotFocus事件:当对象获得焦点(光标处于此对象上或该对 象为当前活动状态)时触发该事件。 LostFocus事件:当对象失去焦点时触发该事件。 Change事件:当一个控件的内容发生改变时触发该事件。 (2)事件过程 当在对象上发生事件后,应用程序就要处理这个事件,而 处理的步骤就是事件过程。它是针对某一个对象的过程,并与 该对象的一个事件相联系。VB应用程序设计的主要工作就是 为对象编写事件过程中的程序代码。事件过程的形式如下: Private Sub 对象名_事件(参数列表) .事件过程代码 End Sub 说明:这是VB中所有对象事件过程的语法结构。编程者只需把该 对象的事件代码填写在事件过程代码区即可。其它的由系统自己给 出。 如:单击Command1命令按钮,使命令按钮的字体大小改变为20磅 ,则对应的事件过程如下: Private Sub Command1_Click( ) Command1.FontSize=20 End Sub 注意:当用户对一个对象发出一个动作时可能同时在该对象上发生多个 事件。例如,单击鼠标,同时发生了Click、MouseDown和MouseUp事件 。但我们写程序时,并不要求对这些事件都进行编写代码,而只对感兴 趣的事件过程编码。没有编码的是为空事件,系统也不会处理这些事件 过程 (3)事件驱动 在传统的面向过程的应用程序中,应用程序自身控制了执行哪一部分代 码和按何种顺序执行代码,即代码的执行是从第一行开始,随着程序流执行 代码的不同部分。程序执行的先后次序有设计人员编写的代码决定,用户无 法改变程序的执行流程。 但在VB中,程序的执行发生了根本的变化。程序执行后系统等待某个 事件的发生,事件发生后,系统再去执行处理该事件的事件过程,待该事 件过程执行完后,系统又处于等待事件发生的状态,这就是事件驱动。而 面向对象的程序设计方法也就事件驱动程序设计方法。 VB程序的执行步骤如下: 启动应用程序,装载和显示窗体; 窗体(或窗体上的控件)等待事件的发生; 事件发生时,执行对应的事件过程; 重复执行步骤2、3。 如此周而复始地执行,直到遇到END结束语句结束程序的运行或单击“结束 ”按钮强行停止程序的执行。 3、方法 VB中为程序设计人员提供了一种特殊的过程和函数(此处称为方法) 。这些方法已经写好并封装起来,作为方法供用户直接调用。调用格式为 : 对象.方法名 参数名表 若省略其中的对象,则表示为当前对象,一般指窗体。 如:Form1.Print”欢迎您使用VB6.0” 通用方法 Move方法:移动控件或改变控件的大小 如:Form1.Move 0,0,600,300 注:Move后面的四个参数分别是对象的四个属性Left、Top、Width和 Height SetFocus方法:使控件获取焦点。 如:form1.text1.setfocus 2.2建立简单的应用程序 建立一个应用程序的步骤为: 新建一个工程 在该工程中添加窗体,设计界面 编写事件代码 运行程序,反复进行测试,使之达到预期效果 编译程序,产生EXE执行文件 制作安装包 例:设计一个程序,窗口中显示欢迎词并提供一个进入按钮 和退出按钮,如果选退出则关闭程序,如果选进入则打开另 外一个窗口,此窗口中有四个图标。(结果见下页) 注意:此题有一个如何设置多窗体的问题 2.3 窗体和基本控件 一、窗体 1、主要属性 1)、Caption:标题。决定窗体标题 栏显示的内容 2)、BorderStyle:边框样式。决定 窗体的外观特征。共6种。含义见 P28 3)、Controlbox、MaxButton和 MinButton:控制菜单框、最大化按 钮和最小化按钮。其值为布尔型 注意:当ControlBox为False时, MaxButton和MinButton自动设置为 False 4)、Moveeable:可否移动。缺省为True 5)、Picture:背景图片。可在属性窗口中直接设置 ,也可在程序代码中设置。如: form1.picture=loadpicture(“c:windowswebwallpaper wind.jpg”) 6)、WindowsState:初始大小。指定窗口运行时的 可视状态。共3种状态。见P28 7)、ScaleHeight、Scalewidth:窗体内部尺寸(除 去标题栏、菜单栏、工具栏)。其值分别表示当前 窗体的高度和宽度。 2、主要事件 窗体从开始显示到最后关闭可以称为一个生命周期,而 在这一个周期的每一个阶段都会有一个特征事件来反映窗体 当前的状态。看下图。 创建 发生Initialize事件 加载 发生Load事件 获得焦点 发生Activate和GotFocus事件 失去焦点 发生Deactivate和LostFocus事件 卸载 发生QueryUnload、 UnLoad 和Terminate事件 可见 1)Initialize事件 它是一个窗体创建时最先执行的事件,此时窗体对象仍 然处在外存中,执行的只是窗体的代码部分,如:设置全局 变量等初始化工作。 2)Load事件 此事件使窗体及所有控件都进入内存,但界面仍未显示。 此阶段也可放置一些初始化代码。如果在程序中要加载窗体, 可使用Load语句。格式为:Load 窗体名 3)Activate和Deactivate事件 当窗体执行一个activate事件后,窗体被激活,窗体被显示 ,同时窗体自动发生gotfocus事件,反之,当窗体发生lostfucus 事件时,同时也就自动发生deactivate事件,此时,另外一个窗 体被激活。 注意:activate事件常和setfocus方法联用。如: private sub form_activate( ) form1.text1.setcocus end sub 此事件代码的含义是:当窗体被激活时使焦点处在文本框 text1上。 4)Unload事件 此事件和load事件相反,它使窗体从内存中卸载(删除) 。 若在程序中删除窗体,可使用语句:Unload 窗体名。 Unload的一种常见的用法是:unload me 此处me代表当前正在运行的窗体。也可以这样用: me.caption=“欢迎使用VB” 3、主要方法 1)Print 方法:在对象上输出信息 格式:对象. print表达式列表 此处:对象可为窗体(form)、图形框(picturebox)或打印机 (printer)。缺省时为窗体。 表达式列表可为一个数值表达式或一字符串 例:设计一窗体,在窗体激活时,在窗体的标题栏及窗体上显 示“装入窗体”,并设置一幅图片为窗体背景。当单击窗体时, 在标题栏上显示“鼠标单击”,在窗体上显示“欢迎使用VB”。 当双击窗体时,在标题栏上显示“鼠标双击”,去初窗体的背景 ,并显示“结束使用VB”。 程序代码如下: Private Sub Form_Activate() Me.Caption = “装入窗体“ Me.Picture = LoadPicture(“c:windowsclouds.bmp“) Me.FontSize = 48 Me.FontName = “黑体“ Me.Print “装入窗体“ End Sub Private Sub Form_Click() Caption = “鼠标单击“ Cls Print “欢迎使用VB“ End Sub Private Sub Form_DblClick() Caption = “鼠标双击“ Picture = LoadPicture(“) Print “结束使用VB“ End Sub 2)Cls方法:清除运行时在窗体或图形框中显示的文本或图形 。 格式:对象. cls 其中:“对象”为窗体或图形框。缺省时为窗体 如:picture1.cls cls 3)Move方法:用于移动窗体或控件,并可改变其大小 格式:对象. Move 左边距离,上边距离,宽度,高度 其中:“对象”可以是除时钟菜单外的所有控件。缺省时为窗体 。 例:程序在运行时在图像框装入一图象,单击图像框使图 像框移动到窗体中心。 程序代码为: Private Sub Form_Load() Image1.Top = 0 Image1.Left = 0 Image1.Picture = LoadPicture(“c:windowsred blocks.bmp“) End Sub Private Sub Image1_Click() Image1.Move (Form1.ScaleWidth - Image1.Width) / 2, (Form1.ScaleHeight - Image1.Height) / 2,120,600 End Sub 注意:长度单位为twip。1twip=1/567(cm) 4)Show方法 该方法用来显示一个窗体,它兼有加载(Load)和显示(Activate) 窗体两种功能。即在执行Show时,如果窗体不在内存中,则自 动装入,然后显示出来。 格式:窗体名.Show 省略窗体名为当前窗体。如:form2.Show 5)Hide方法:用来将窗体暂时隐藏起来,但没有从内存中删除 格式: 窗体名.Hide 省略窗体名为当前窗体 例:在窗体中单击鼠标,使另一个能显示日期的窗体能显示和 隐藏。 程序如下: 对于窗体form1 Private Sub Form_Click ( ) If form2.Visible = True Then form2.Hide Else form2.Show End If End Sub 对于窗体form2 Private Sub Form_Load ( ) Me.left=0 Me.top=0 Me.height=100 Me.Caption = Now End Sub 二、标签(Label) 1、主要属性 Alignment:设置标签的对齐方式。0左对齐,1居中,2右对齐 Autosize:设置标签自动改变大小以显示全部内容。 WordWrap:设置文本内容在Autosize属性为True时能自动卷饶 。 BorderStyle:设置标签是否有边框。0无,1有。 BackStyle:设置背景样式,有两种 0-Transparent 透明显示 1-Opaque 不透明显示 三、 文本框 文本框是一个文本编辑区,用户可以在该区输入、编辑、 修改和显示正文内容。 1、主要属性 Text:文本框无Caption属性,显示的正文内容存放在Text属 性中。当程序执行时用户通过键盘输入、编辑正文。 Maxlength:指明文本框中能够输入的正文内容的最大长度。 0:任意长字符串; 非零值:字符个数的最大值; 注意:在VB中字符长度以字为单位,也就是一个西文字符和 一个汉字都是一个字,长度为1,占2个字节。 MultiLine:当其值为True时,文本框可输入或显示多行文字 ,同时具有文字处理器的自动换行功能。 ScrollBars:当MultiLine属性为True时,此属性才有效。其值为 : 0-None:无滚动条; 1-Horezontal:有水平滚动条; 2-Vertical:有垂直滚动条; 3-Both:同时有水平和垂直滚动条 注意:当加了水平滚动条后,文本框内的自动换行功能回自动 消失,只有按Enter键后才能回车换行。 SelStart、SelLength、SelText: 在程序中,对文本内容进行选择操作时,这三个属性用来 标识用户选中的正文。 SelStart:选定的正文的开始位置,第一个字符的位置为0,依次 类推。 SelLength:选定的正文长度。 SelText:选定的正文内容。 例:建立如下的两个文本框。在第一个文本框中输入一段文字 ,选取任意一段后,单击窗体,在第二个文本框中出现刚选中 的文字。 程序代码如下: Private Sub Form_Click() Text2.Text = Text1.SelText End Sub Locked:指定文本内容是否可被编辑。默认为False,表示可 编辑;当设置为True时,文本内容相当于标签的作用。如: Private sub form_click( ) text1.locked=true text1. text=“abcdefghijklmnopqrst” End sub PasswordChar:指定显示在文本框中的字符。 如:text1.passwordchar=“*” 例:做出下面界面 2、主要事件 Change事件 当用户输入新内容或当程序将Text属性设置新值,从而改 变文本框的Text属性时会引发该事件。当用户输入一个字符时 ,就会引发一次Change事件。如,用户输入“Hello”一词,会引 发5次Change事件。 KeyPress事件 当用户按下并释放键盘上的一个键时,就会引发焦点所在 控件的KeyPress事件,此事件会返回一个KeyAscii参数到该事 件过程中。如:当输入字符“a”,返回KeyAscii的值为96,通过 Chr(KeyAscii)可以将ASCII码转换为所对应字符“a”。 同Change事件一样,每输入一个字符就会引发一次KeyPress 事件。该事件最常用的是对输入的是否为回车符(KeyAscii的 值为13)进行判断,表示文本输入结束。 LostFocus事件 当一个对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出租车客运安全培训内容课件
- 出生证明档案管理课件
- 2025年版个人北京租房合同范本
- 2025【合同范本】实习合同模板
- 2025入职协议:食品加工行业劳动合同范本(一线工人)
- 2025品牌代理合作合同模板
- 鉴赏古代诗歌的表达技巧讲课文档
- 病毒式传播策略-洞察及研究
- 2025新款借款合同范本
- 2025拆迁安置补偿合同范本参考文献
- 19-雾在哪里ppt市公开课金奖市赛课一等奖课件
- 城镇道路工程施工与质量验收规范
- 金融统计分析教材课件
- 《社会主义核心价值观》优秀课件
- 经纬度基础知识
- 大学生团支书竞选PPT模板
- DDI定向井难度系数
- 河南省家庭经济困难学生认定申请表
- 电催化精品课件
- 踏虎凿花的探究 详细版课件
- (高职)成本核算与管理完整版教学课件全套电子教案
评论
0/150
提交评论