1 / 74

第三章 创建用户界面

第三章 创建用户界面. 一、基本概念. 1 、面向对象的程序设计 (OOP) 客观世界是由一个一个具有动作的对象构成的。一个复杂的对象可由若干简单的对象组成,面向对象的方法将所有对象划分成各种对象类,每个对象类都对应一组操作;每个对象除了传递信息之外。对象所具有的性质和动作在 VB 中成为对象的属性和事件。. Windows 应用程序的用户界面一般是由窗体、菜单和控件等对象构成的,整个系统的运行是由事件驱动的。 事件驱动的含义是:所有编写的代码只有在用户实施了某些动作,或者 Windows 系统的某些事件发生的时候才会被执行。所有代码的编写都是针对事件展开的。.

anoki
Download Presentation

第三章 创建用户界面

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三章 创建用户界面

  2. 一、基本概念 1、面向对象的程序设计(OOP) 客观世界是由一个一个具有动作的对象构成的。一个复杂的对象可由若干简单的对象组成,面向对象的方法将所有对象划分成各种对象类,每个对象类都对应一组操作;每个对象除了传递信息之外。对象所具有的性质和动作在VB中成为对象的属性和事件。

  3. Windows应用程序的用户界面一般是由窗体、菜单和控件等对象构成的,整个系统的运行是由事件驱动的。Windows应用程序的用户界面一般是由窗体、菜单和控件等对象构成的,整个系统的运行是由事件驱动的。 事件驱动的含义是:所有编写的代码只有在用户实施了某些动作,或者Windows系统的某些事件发生的时候才会被执行。所有代码的编写都是针对事件展开的。

  4. 2、对象、属性、方法和事件 对象:是一个个相对独立完整的个体,都有自己的属性、方法和事件。如一个气球,它有红色或蓝色、大或小等属性;气球上升或下降等操作,这是方法;当这些动作被触发时,执行对应的代码,这个过程就是事件。每个窗体、控件等都是对象,它们都有各自的属性、方法和事件。 1)属性 是对象的数据,用来表示对象的状态。属性有属性值,可以在“属性”窗口中完成,也可以在运行时用代码实现。在运行时可设置的属性称为读写属性,只能读取的属性为只读属性。 格式:对象名.属性名=表达式 如果省略对象名,则对象在当前的窗体中。

  5. 2)对象的方法 决定对象执行的动作,方法中的代码是不可见的,可以通过调用使用某个对象的方法。 格式:[对象名].方法名[(参数1,参数2,…)] 如:text1.refresh:更新文本框 form1.show:显示窗体 使用with结构:with结构用于对一个单一对象或用户定义对象执行一系列的语句。用with结构可以对某个对象执行一系列的语句,而不用重复指出该对象的名称。 格式:with 对象 语句块 end with 例:改变一个对象的多个属性,就可以用with语句 With label1 .height=2000 .width=1000 .caption=“更改标签控件的属性” End with 注意:当程序一旦进入with块,对象就不能改变。因此不能用一个with语句设置多个不同的对象,但with块可以嵌套使用。

  6. 3)对象的事件 事件是对象的响应。在vb中,事件是能被对象识别的动作。如,command1_click事件是在单击按钮command1时触发的,form_load事件是在装载form时触发的。 4)“编辑器”的设置 选择“工具”菜单中的“选项”打开“选项”对话框;利用“选项”对话框中的“编辑器”选项卡,用户可根据需要设置代码编辑器的特性。

  7. 二、创建窗体 窗体是vb最重要的对象,是构成应用程序界面的基本模块。程序运行时,窗体是用户与应用程序之间进行交互的窗口。新建工程系统会自动建立一个空窗体,这个窗体就像一块空白画布,用户可在其上创建自己的界面。 1、窗体属性:由杂项、外观、位置、行为、字体等构成

  8. 1)杂项 • 名称(name)用于设置窗体名称。窗体缺省为form1。窗体名必须以字母开头,可以包含数字和下划线,但不能包含空格和标点符号,不能超过40个字符。 • Icon:设置窗体最小化时显示的图标,通过单击右侧的按钮选择一个合适的图形文件 • MaxButton和MinButton:设置窗体运行时是否有最大化和最小化按钮 • MousePointer:选择鼠标指针类型 • WindowState:设置窗体运行后窗口的状态:正常、最大化还是最小化

  9. 2)外观属性 • Caption:用于设置窗体显示的标题 • Appearance:用于设置窗体的外观是平面的还是三维的 • BackColor和ForeColor:设置窗体的背景色和前景色。 • Picture:设置窗体中显示的图片,通过单击右侧的按钮可以选择需要的 • BorderStyle:设置窗体的边框风格

  10. 3)位置属性 • Left和top:窗体的左上角在屏幕的横、纵坐标,用于设置窗体在屏幕上的位置 • Width和height:窗体的初始宽度和高度,用于设置窗体的大小 4)行为属性 • Visible:设置窗体是否可见 • AutoRedraw:设置窗体显示的信息是否重画。当设置为True,在运行时调整窗体大小或被另一对象遮住后重新显示时窗体自动重画

  11. 5)字体属性 • Font:设置窗体显示正文的字体(有字体样式、大小和效果) 2、窗体的方法 窗体最常用的是show,显示窗体。还有hide(隐藏窗体)、refresh(刷新窗体)、move(移动窗体)、print(在窗体中显示文本)、Line和Circle(在窗体中绘制直线、矩形和圆)。 格式:对象.show[(风格n)]:0为无模式,1为有模式 模式窗体是指在继续应用程序的其他部分之前,必须关闭该窗体(隐藏或卸载),未关闭前不允许用户与应用程序的其他窗体交互。无模式的窗体允许在其他窗体之间转移焦点,而不用关闭该窗体。

  12. 3、窗体的事件 窗体作为对象能够对事件做出响应。 1)Activate和DeActivate事件 当一个窗体变成活动窗口时,会触发Activate事件。另一个窗体或应用程序被激活,窗体不再是活动窗口时,触发DeActivate事件 2)Initialize事件 当窗体第一次被创建时触发,一般将窗体或其他对象的初始化代码放在其中。

  13. 3)load事件 装载窗体时触发。在Initinalize事件之后,当用load语句或未装载之前使用show方法时触发该事件。一般将变量的初始化代码或控件的缺省值放在其中。 4)unload事件 卸载窗体时触发。当单击窗体上的“关闭”按钮或使用unload语句时,触发该事件。 5)click和dblclick事件 分别在鼠标单击窗体和双击窗体时触发 6)resize事件 当调整窗体的大小时触发。

  14. 例:创建一个欢迎界面的窗体,单击该窗体上的“进入”按钮弹出显示时间的窗口。例:创建一个欢迎界面的窗体,单击该窗体上的“进入”按钮弹出显示时间的窗口。 一个标签,其caption是:欢迎你!, 并对其font属性重新设置;一个按钮 其caption是:进入,对font属性重 新进行设置了 单击“进入”按钮的代码是: Private Sub Command1_Click() Form1.Show Form2.Hide End Sub

  15. 4、窗体的启动、装载、卸载和关闭 1)设置启动窗体 每个应用程序都有开始执行的入口,应用程序开始运行时首先出现的窗体称为启动窗体。在缺省情况下,创建的第一个窗体为启动窗体,如果要改变就得修改启动窗体的设置,步骤为: a.选择“工程”菜单项中的最后一个命令 b.在弹出的菜单项中选择“启动对象”下拉列表框中选择启动的窗体名 c.单击“确定”按钮

  16. 2)装载和卸载窗体语句 • 装载窗体语句使用程序将窗体(或其他对象)装入内存 格式:load 对象名 注意:在vb中程序执行时自动装载启动窗体,所以自动窗体可以不用load语句装载 • 卸载窗体时把窗体及其所有对象从内存中卸载 格式:unload 对象名 例:Private Sub Command1_Click() Unload me End Sub 执行的功能:单击窗体中的按钮后,系统卸载当前窗体,退出程序。Me是系统的保留字,表示当前窗体 3)end语句 用于在程序代码中结束应用程序的运行 格式:end

  17. 5、界面样式 • 主要有单文档界面(SDI)、多文档界面(MDI)和资源管理器界面 1)SDI界面 是单文档界面,指在应用程序中每次只能打开一个文档,想要打开另一个文档时,必须先关上已打开的文档。不能将一个窗体包含在另一个窗体中,所有的界面都可以在屏幕上自由地移动。 2)MDI界面 是多文档界面,在应用程序中可以同时操作多个文档。每个文档都有自己的窗口,文档或子文档被包含在父窗口中,父窗口为应用程序中所有的子窗口提供工作空间。当最小化父窗口时,所有的文档窗口也被最小化,只有父窗口的图标显示在任务栏中。Word、Excel等都是MDI界面。

  18. 创建MDI的步骤: ①选择“工程”中的“添加MDI窗体”,就可以在当前的窗体中添加一个MDIForm1。一个应用程序只能有一个MDI窗体。 ②将主窗体的MDIChild属性设置成True。将运行的窗体设置为该主窗体。 多个窗体展示的方式: • 静态展示:该方式下是在应用程序设计时添加多个窗体来完成。如需要向MDI窗体中添加4个窗体如Form1、 Form2、 Form3、 Form4即可。程序在运行中最多只能同时打开4个窗体。 • 机动展示:静态展示虽然较方便,但较浪费资源;另外同时打开的窗体个数是不可变的,灵活性较差。机动展示不需要大量的窗体,只需要将一个窗体设置成子窗体就可以了,其他子窗体通过代码由该窗体创建即可。

  19. 例:创建多文档界面 a.首先创建一个工程,然后选择“工程”中的“添加MDI窗体”命令,为工程添加一个MDIForm1;再添加一个Form1,并设置Form1的“MDIChild”设置成True b.在MDIForm1窗体中创建一个菜单项“文件”,该菜单项中含一个“新建”菜单项 c.在MDIForm1的“通用”过程中定义一个整型数变量q: Public q As Integer 对应的代码如下: Private Sub MDIForm_Load() q = 2 End Sub “新建”菜单项对应的代码如下(其中qnew是“新建”菜单项的名称): Private Sub qnew_Click() Dim ne As New Form1 ne.Caption = "qian" + Str(q) q = q + 1 ne.Show End Sub 将MDIForm1设置成启动窗体,运行程序后,单击菜单中的“新建”即可创建多个文档窗口,单击一次就创建一个。

  20. 三、控件 控件是vb通过控件箱提供的与用户交互的可视化部件,在窗体中使用控件可以方便地获取用户的输入,也可以显示程序的输出。请熟练地掌握控件的使用,才能游刃有余地开发应用程序。不同的控件具有不同的属性、方法和事件。 控件的使用与窗体相似,其属性的分类和大多数的属性、方法和事件也与窗体基本相似。 1、控件的分类 有内部控件、ActiveX控件和可插入对象三类 1)内部控件是由vb本身提供的,也称为常用控件。这些控件总是显示在工具箱中,用户不能删除 2)ActiveX控件:是vb标准工具箱的扩展部分,使用时添加到工具箱中。方法是:右击控件箱,选择“部件” 3)可插入对象:在vb中应用其他对象如excel、ppt等时就可以应用插入对象,调用方法与2)相同

  21. 2、名称(name)属性 每个控件都有各自的名称属性,用来设置控件的名字。创建控件时,新对象的缺省名字由对象类型加上一个唯一的整数组成。如第一个form,名称为form1,第二个form,名称为form2等 命名的原则:用系统默认的就可以,如果要重新命名,则采用的原则是易记且有代表性,建议:用前缀表示控件的类,后面为控件的具有描述性含义的文字,如“进入”命令按钮的名称可以定义成:cmdenter

  22. 3、控件的值属性 所有的控件都有一个与控件值有关的属性。在应用该属性时,不需要指定属性名,只要指定控件名即可。控件的值属性是控件最常用的属性,如文本框控件的text属性,标签控件的caption属性等都是值属性;例如:text1=“abc”和text1.text=“abc”是一样的。 4、焦点(Focus) 窗体上的对象可能会很多,但用户在任何时候只能操作一个对象,当前被操作的对象称它获得焦点。当对象具有焦点时,可以产生GotFocus事件;当焦点移动之后会触发LostFocus事件;下列方法可以将焦点赋给对象: • 运行时选择对象 • 运行时用快捷键选择对象 • 在代码中用setfocus方法

  23. 控件的TabIndex属性决定了它在Tab键顺序中的位置,按Tab键可将焦点按照控件TabIndex属性的顺序在控件中移动。按照缺省规定,第一个建立的控件其TabIndex 值是0,第二个的TabIndex 值是1,以此类推。 注意: • 框架、标签、菜单、直线、形状、图象框和定时器等控件都不能接受焦点; • 不能获得焦点的控件,以及无效的(Enabled属性为False)的和不可见的控件(Visible属性为False),不包含在Tab间顺序中,按Tab键时,这些控件将被跳过

  24. 5、移动(move)方法 该方法可以用于窗体或控件,设置移动对象的位置 格式:[对象].Move left [,top[,width[,height]]] 功能:对象是移动的对象名称,如省略,则为当前的窗体 Left和top:为对象的新left和top值 Width和height:为对象的新width和height

  25. 6、访问键 访问键是通过键盘访问控件,如菜单、命令按钮、选项按钮、复选框等都可以创建访问键。访问键的设置是在控件的caption属性中将“&”字符加在访问字符的前面。运行时这一字符会自动被加上一个下划线,而“&”不显示;当按Alt+”访问字符”时,与单击该控件是一样功能。

  26. 7、容器 框架(Frame)、窗体(Form)和图片框(PictureBox)等都可以作为其他控件的容器。Vb的大多数控件都支持容器(Container)属性,它的值就是控件所在的容器。容器中的控件,其left和top等属性值是由它在容器中的位置决定的。

  27. 四、常用控件的使用 1、标签 用于显示不能编辑的文本信息,一般用于在窗体上进行文字说明。 1)常用属性: • Caption:标签中显示的内容,最多可有1024个字符 • Alignment:文本对齐方式,有0(Left Justify)左对齐;1(Right Justify)右对齐;2(Center)居中 • AutoSize:是否自适应大小(True是会根据文本自动调整标签的大小,False是不会调整,超常的文本被截去) • BorderStyle:设置边界的形式 • Font:对字体、字号、字形、颜色等进行设置 2)方法 常用的方法有refresh和move两种。 Refresh用于刷新标签的内容。

  28. 2、文本框 用于接收用户输入的信息,或显示系统提供的文本信息。用户可以在文本框中编辑文本。 1)常用的属性 • Text:文本框中显示的内容 • PasswordChar:设置如何在文本框中显示输入的字符,即是否为口令框,缺省值为text1,表示显示输入的文本,如果为非空字符(如*),则每输入一个字符就在文本框中显示一个该字符 例:建立一个窗体,该窗体如右图所示。实现的功能是:如果用户名是:guest,且密码是:1234,则可以弹出另一个的窗体界面,否则弹出一个消息框“对不起,你的用户名或密码不正确!” ,退出并关闭所有窗体。

  29. 该窗体中两个标签,其caption分别是:用户名、口令;该窗体中两个标签,其caption分别是:用户名、口令; 两个文本框,text中的值为“”; 一个按钮,其caption是:确定 单击“确定”按钮对应的代码 如下: Private Sub Command1_Click() Dim response If Text1 = "guest" And Text2 = "1234" Then response = MsgBox("欢迎使用本系统!", vbOKOnly, "输入") If response = 1 Then Form2.Show Form1.Hide End If Else MsgBox "对不起,你的用户名或口令不正确!", vbOKOnly, "输入" End End If End Sub

  30. MultiLine:是否可以输入多行文本。True为可输入多行文本,False只能输入一行(默认值)MultiLine:是否可以输入多行文本。True为可输入多行文本,False只能输入一行(默认值) • Alignment:该属性只有当MultiLine为true时有效 • ScrollBars:设置是否有滚动条。0(None)为不含(默认值),1(Horizontal)为含水平滚动条,2(Vertical)垂直滚动条,3(Both)水平和垂直两个方向的滚动条 注意:如果有滚动条,则MultiLine必须为true,且自动换行功能将失效。 • Locked:设置是否允许用户编辑文本框中的文本。True为锁定,此时不能编辑文本框中的文本;默认值是false,即允许编辑文本框中的文本

  31. 2)方法 常用的方法有refresh和setfocus等。 3)事件 可以识别多个事件,如Change(当文本框中内容发生变化时触发的事件)、GotFocus、LostFocus等 4)选定文本 与选定文本有关的属性有: • SelStart:长整型。指定选定文本的起始位置 • SelLength:长整型。指定选定多少个字符 • SelText:String。包含已经设置选定的字符 剪贴板Clipboard对象的方法如下所示: • GetText:从剪贴板上取得文本 • SetText:将选定的文本放置到剪贴板上 • Clear:清空剪贴板 例:创建一个如右图所示的窗体,实现的功能是:单击“复制”按钮,将第一个文本框所选的文本信息复制到剪贴板上;单击“粘贴”按钮,将剪贴板中的信息粘贴到第二个文本框中。 对应的代码:参看事例中的代码

  32. 3、命令按钮 用于当用户单击时完成的功能 1)常用的属性 Cancel:是否为取消按钮。True是取消按钮,按Esc键相当于单击此按钮;False 不是取消按钮(默认值与缺省值是一样的意思) Default:是否为缺省按钮。True是缺省按钮,此时按回车键就相当于单击此按钮;False不是缺省按钮(默认值为False)

  33. 3)方法 按钮的常用方法有:setfocus 4)事件 单击(在按钮上单击鼠标、焦点在按钮上按空格键或回车键、在代码中将按钮Value属性设置成True、对于取消按钮按Esc键、在Caption属性中用&符号连接一个访问键,在运行时按下Alt+访问键

  34. 5、框架、选项按钮和复选框 需要将窗体中的若干控件按功能分组时,可以使用框架;选项按钮用于从一组中选取一项,而且必只能选择一项;复选框与单选项不同,它可以同时选择多项。 1)常用属性 基本上与前面介绍的控件属性差不多,是caption、value(对于单选项来讲,选中为true,否则为false;复选框:0未选中,1是选中,2暂时不能访问,显示为灰色)、enabled(活动的有效的为true,灰色的为false)、 2)事件:主要是单击

  35. 例:创建一个调查表窗体,如图所示,调查 完成之后,在右侧的文本框中显示调查后的 相关信息。 两个框架:caption分别是“学历”和“爱好”; 四个复选框和单选项,名称是:Chk1、Chk2、 Chk3、Chk4和Opt1、Opt2、Opt3、Opt4 单击“显示”所执行的代码: Private Sub Command1_Click() Dim xl As String, ah As String If Opt1 = True Then xl = "硕士" If Opt2 = True Then xl = "博士" If Opt3 = True Then xl = "本科" If Opt4 = True Then xl = "大专" If Chk1 = False And Chk2 = False And Chk3 = False And Chk4 = False Then ah = "" If Chk1.Value = 1 Then ah = ah & "旅游" If Chk2.Value = 1 Then ah = ah & "音乐" If Chk3.Value = 1 Then ah = ah & "体育" If Chk4.Value = 1 Then ah = ah & "游戏" Text2.Text = Text1.Text & "同志的学历是:" & xl & ",爱好是:" & ah End Sub

  36. 6、列表框 可以提供项目列表供用户选择。用户可以从中选择一个或多个列表项 1)常用属性 • List:列出访问列表框中的所有列表项。 如输入列表项,可在属性窗口中添加 列表项,输入完成后按Ctrl+Enter键 可以继续添加下一项,列表项只能 添加到列表框的末尾。如左图,添加 系别名。 • ItemData:列表框中的每个列表项都 设置一个对应的数值(整型数组),数 组大小与列表的个数一致,通常用于列 表项的索引或标识。

  37. Columns:设置列表项按几列显示,0按单列显示,列表项较多时出现垂直滚动条(缺省)。1为单列显示,列表项较多时,会出现水平滚动条。1为多列显示,先填第一列,再填第二列,等等Columns:设置列表项按几列显示,0按单列显示,列表项较多时出现垂直滚动条(缺省)。1为单列显示,列表项较多时,会出现水平滚动条。1为多列显示,先填第一列,再填第二列,等等 • ListCount:用于返回在列表框中的列表项数,只能在运行时使用。 • ListIndex:当前选中的列表项索引,只能在运行时使用。-1为当前你没有选择项目,n为当前选择项目的索引,从0开始。 • Sorted:设置列表框中的各列表项在运行时是否自动排序。True为自动排序,False为不排序,按原始输入的顺序显示。 • MultiSelect:用于设置是否允许同时选择多个列表项。0为不允许(缺省);1为允许,通过鼠标单击或按下空格键在列表中选取或取消选中项;2为允许,按Shift并单击鼠标或按Shift+箭头键选择,或按Ctrl并单击鼠标选择连续或不连续

  38. 2)事件:主要是单击和双击 3)方法 • AddItem方法:用于在程序代码中向列表框中添加列表项 格式:[对象].AddItem 列表项[,索引] 例:前面我们通过“属性”窗口可以添加:英语系、德语系等,但也可通过AddItem方法来实现,如list1.additem “西班牙语系”,3, 该语句实现的功能是在list1列表框中第3个位置后插入:西班牙语系 如果省略索引,则在列表的后面追加这条项目 • Clear:删除所有的列表项 格式:[对象].clear • RemoveItem:删除特定的列表项 格式:[对象].RemoveItem 索引

  39. 例:利用列表框创建输入“系处单位”的输 入界面。 执行的功能:单击“添加”按钮后将“系处” 下文本信息添加到右侧的列表框中;单 击“删除”则将选中的列表项删除 Private Sub Command1_Click() If Text3.Text = "" Then MsgBox( "无法添加", vbOKOnly, "添加“) If Text3.Text <> "" Then List1.AddItem Text3.Text, Text2.Text Text3.Text = "" List1.ItemData(List1.ListCount - 1) = Val(Text2.Text) End If End Sub Private Sub Command2_Click() List1.RemoveItem List1.ListIndex End Sub

  40. 7、组合框 组合框是文本框和列表框的组合。用户可以在文本框中输入文本,也可以从列表框中选择列表项。 1)属性:许多属性与列表框的相同,此外还有: • Style:确定组合框框的类型和显示方式。其含义如下: a.0(缺省)为下拉组合框,有一个文本框和一个下拉列表框组成。用户既可以在文本框中输入,也可以单击列表框来选择列表框。当组合框获得焦点时,可按Alt+键来打开列表框 b.1为简单组合框,由一个文本框和一个标准列表框组成。列表框下拉项一致显示在屏幕上,列表框可以有垂直滚动条。 c.2为下拉列表框,不允许用户输入文本,只能从下拉列表框中选择。

  41. 上面的图为style分别为0、1、2的创建界面,下图为运行后的状态。上面的图为style分别为0、1、2的创建界面,下图为运行后的状态。

  42. 例:创建如左图所示的界面 实现的功能是:单击“确定”按钮 后在“调查的结果”下面的文本框 中显示上面所选择的结果 对应的代码如下: Private Sub Form_Load() With List1 .AddItem "北京市" .AddItem "河北省" .AddItem "天津市" .AddItem "河南省" .AddItem "辽宁省" End With With Combo1 .AddItem "教务处" .AddItem "人事处" .AddItem "宣传部" .AddItem "英语系" .AddItem "德语系" .AddItem "日语系" End With End Sub

  43. Private Sub Command1_Click() Dim xl, x2, x3 As String If Option1 = True Then X1 = "助理工程师" If Option2 = True Then X1 = "工程师" If Option3 = True Then X1 = "高级工程师" Select Case List1.ListIndex Case -1 x2 = "" Case 0 x2 = "北京市" Case 1 x2 = "河北省" Case 2 x2 = "天津市" Case 3 x2 = "河南省" Case 4 x2 = "辽宁省" End Select Select Case Combo1.ListIndex Case -1 x3 = "" MsgBox ("没有选择列表中的数据") Case 0 x3 = "教务处" Case 1 x3 = "人事处" Case 2 x3 = "宣传部" Case 3 x3 = "英语系" Case 4 x3 = "德语系" End Select Text3.Text = Text2.Text & "同志的职称是:" & X1 & ";" & Space(2) & "来源是 :" & x2 & Space(2) & ";部门是:" & x3 End Sub

  44. 3)组合框的事件和方法与列表框基本相似,其操作也是相似,如上面的例题3)组合框的事件和方法与列表框基本相似,其操作也是相似,如上面的例题 8、图像框和图片框 显示.bmp,.ico,.wmf,.jpg,gif等类型的图片,图片框(PictureBox)不仅可以显示图像,还可以作为其他控件的容器,功能比图像框更强。图片框的常用属性如下: 1)属性 • Picture属性:设置在图像框或图片框中显示的图像文件名。可以在设计时通过属性或用LoadPicture函数来设置。如:picture1.picture=loadpicture(“d:\stone.bmp”) • Align属性:设置图片框在窗体中的显示方式。0(缺省)为无特殊显示;1为与窗体一样宽,为与窗体顶端;2为与窗体一样宽,位于窗体底端;3与窗体一样高,位于窗体的左端;4与窗体一样高,位于窗体的右端

  45. 图像框的stretch:用来设置图像框如何与图像适应。True为图像将适应图像框的大小;否则正好相反。图像框的stretch:用来设置图像框如何与图像适应。True为图像将适应图像框的大小;否则正好相反。 • 图片框AutoSize属性:设置图片框如何与图像相适应。False(缺省)为保持原始尺寸,当图形比图片框大时,超出的部分被截去;True为图片根据图形大小自动调整。

  46. 9、定时器(Timer) • 用于没经过特定时间间隔触发事件,运行时不可见 1)属性 • Interval:最重要的属性,用于设置定时器每次触发事件之间的时间间隔,单位为毫秒(ms),即1/1000秒,取值在0~65767之间。如果设置成0,则表示定时器无效。 2)事件 只支持Timer事件,当达到Interval属性规定的时间间隔就触发该事件。

  47. 例:利用Picture和Timer两个控件制作一个可以圆形运动的图片例:利用Picture和Timer两个控件制作一个可以圆形运动的图片 Dim i As Integer Private Sub Timer1_Timer() For j = 0 To 5 Picture1(j).Visible = False Next j Picture1(i).Visible = True If i >= 5 Then i = 0 Else i = i + 1 End If End Sub 注意:上述代码只有当时间间隔达到指定数值时,就会触发该段程序代码

  48. 10、滚动条控件 • 包括水平滚动条(HscrollBar)和垂直滚动条(VScrollBar)。滚动条一般是放置在窗体的边缘,用来提供滚动窗口的功能。 1)常用属性 • Value:滚动框在滚动条中的位置,在Max和Min之间 • Max:位于滚动条的最右侧或最低端的值,在-32768~32767之间 • Min:位于滚动条的最左侧或最顶端的值,在- 32768~32767之间 • SmallChange:用鼠标单击滚动框箭头时,滚动框每次移动的大小 • LargeChange:用鼠标单击滚动框区域时,滚动框每次移动的大小

  49. 2)事件 • Scroll:拖动滚动框时触发,用来跟踪滚动条的动态变化 • Change:单击滚动条或滚动箭头以及释放滚动框时触发。可用来得到滚动条的最终位置 例:运用定时器和图片框设计一个:图像从屏幕最下面向上移动,移出屏幕后又循环从最下面上浮。

  50. 创建一个窗体,含:一个垂直滚动条,两个按钮,一个图像;当单击“上浮”按钮时,图片往上移动,当调节滚动条上的滑块时,可调整图片移动的速度。创建一个窗体,含:一个垂直滚动条,两个按钮,一个图像;当单击“上浮”按钮时,图片往上移动,当调节滚动条上的滑块时,可调整图片移动的速度。 单击“暂停”按钮,则图片停止 移动

More Related