VisualBasic程序设计及应用第3章vb.pps_第1页
VisualBasic程序设计及应用第3章vb.pps_第2页
VisualBasic程序设计及应用第3章vb.pps_第3页
VisualBasic程序设计及应用第3章vb.pps_第4页
VisualBasic程序设计及应用第3章vb.pps_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3课 窗体的设计和使用 本章学习目标: 创建窗体 设置窗体属性 窗体生命周期 窗体的事件和方法 图形方法原理 界面设计基础 本章要点: 窗体设计的基本要点 在窗体上使用控件 使用图形方法,3.1 课前导读 Visual Basic是一种可视化的编程语言,对于开发图形用户界面 (GUI)具有方便、直观的特点。程序员只需简单地在窗体上绘制控件、图形或图片,就可以很轻松地完成用户界面的设计,而不必编写大量的代码去描述界面元素的外观和位置。从而使得用户界面的设计变得简单有趣。,3.2 课堂教学,3.2.1 创建窗体 用Visual Basic创建一个应用程序,第一步是创建窗体,它是用户与应用程序进行交互操作的可视部分。窗体是创建界面的基本构造模块;也是创建应用程序所使用的对象。 窗体是一种对象,由属性定义其外观、由方法定义其行为、由事件定义其与用户的交互。通过设置窗体属性并编写响应事件的Visual Basic代码,就能定义出满足应用程序需要的对象。,图3-1 “添加窗体”对话框,1添加窗体 在Visual Basic中,要添加窗体,可选择“工程”|“添加窗体”菜单,将显示“添加窗体”对话框(如图3-1所示)。 2添加MDI窗体 选择“工程”|“添加MDI窗体”菜单,显示“添加MDI窗体”对话框,在其中可以选择 “新建MDI窗体”或添加现存的MDI窗体。,3.2.2 设置窗体属性 窗体的许多属性会影响窗体的外观。比如,Caption属性决定窗体标题栏中显示的文本;图标属性设置在窗体最小化时显示的图标。 在代码中设置窗体的属性采用如下语法: FormName.attributeName = Value 对于属性值,有些可以任意设置;而有些必须在对象提供的值中进行选择,不能任意设置。 要熟悉这些窗体属性,最好的办法是实践。在“属性”窗口中更改窗体的一些属性,然后运行该应用程序并观察修改的效果。 窗体的主要属性可以划分为以下类别: 窗体位置、窗体外观、窗体行为,3.2.3 窗体的事件 窗体作为对象,能够对其定义的事件作出响应。 事件是窗体对用户做出的各种动作的响应,根据不同的动作引发不同的事件来响应用户的动作。Visual Basic中窗体的内部事件的定义语法为: Private Sub Form_EventName( )。 可以将事件划分为以下类别: 窗体本身事件、键盘事件、鼠标事件,3.2.4 窗体的方法 窗体除了事件外,还有方法。窗体具有许多不同的方法,调用不同的方法可实现不同的操作。例如,要使一个窗体可见,可调用Show方法来显示窗体;要在窗体上绘图,可以使用Line、Circle、Pset等方法。 3.2.5 窗体的生命周期 窗体的生命周期是指窗体从被应用程序加载到内存到从内存中卸载所经历的整个过程。由于窗体是可见的,所以它与其它对象的生命周期不同。例如,即使释放了对窗体的引用,也不会关闭该窗体。Visual Basic维护整个工程所有窗体的全局集合,只有当窗体卸载时才能从集合中删除该窗体。 同样,Visual Basic为每个窗体维护一个控件集合。可以从控件数组中加载或卸载控件,但简单地释放对控件的引用并不能销毁它。Visual Basic窗体在整个生命周期中通常有以下几种状态: 创建但不加载、加载但不显示、显示状态、内存和资源完全回收、卸载和未引用状态。,3.2.6 在窗体上添加控件 要在窗体上添加控件,可选择工具箱中的控件图标,然后在设计窗口中拖拉鼠标即可。 也可以直接双击要添加的控件,则控件将自动放置在设计窗体的中心位置。 工具箱里可用的控件集可被每个工程单独定义。在Visual Basic应用程序中还可使用自定义控件或ActiveX控件,但必须将它们添加到工具箱中,用法与使用标准控件一样。 要把ActiveX控件添加到工具箱中,请按照以下的步骤进行:,(1)从“工程”菜单,选取“部件”命令,会显示“部件”对话框。对话框中的项目列表包含了已登记的所有ActiveX 控件、可插入对象和ActiveX设计器。 (2)向工具箱添加控件(具有 .ocx 文件扩展名)或可插入对象,要选定控件名左边的复选框。 (3)单击“确定”按钮,关闭“部件”对话框,则选定的全部ActiveX控件将出现在工具箱中。 在Visual Basic应用程序中用到的控件,按其作用划分,大致有以下几类控件: (1)用于显示和输入文本的控件(2)为用户提供选择的控件 (3)显示图片和图形的控件 (4)数据访问控件 (5)文件系统控件 (6)附加控件,3.2.7 在窗体上绘图 Visual Basic提供了复杂的文本和图形功能来开发应用程序。 1图形方法的原理 每一种图形方法都要输出到特定对象上,比如窗体、图片框或Printer 对象。为了指示图形绘制的位置,要给图形方法限定目标对象的名字。如果省略了目标对象,Visual Basic会将图形绘制在代码所对应的窗体上。 2坐标系 构建一个坐标系,需要三个要素:坐标原点、坐标度量单位、坐标轴的长度与方向。坐标度量单位由窗体的ScaleMode属性决定(有8种形式)。默认的坐标原点(0,0)为窗体的左上角,横向向右为X轴的正向,纵向向下为Y轴的正向。,有两种方法用于坐标系的定义。 方法一:通过窗体的ScaleLeft、ScaleTop、ScaleWidth和ScaleHeight等属性来实现。ScaleLeft、ScaleTop的值用于指定窗体左上角坐标、右下角坐标值(ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight)。根据左上角和右上角坐标值的大小,自动设置坐标轴的正向和坐标原点。X轴与Y轴的度量单位分别为1/ScaleWidth和1/ScaleHeight。 方法二:采用Scale方法来设置坐标系。其语法如下: Scale (左上角坐标) (右下角坐标) Visual Basic根据给定的坐标参数设计出ScaleLeft、ScaleTop、ScaleWidth和ScaleHeight的值。当使用不带参数的Scale方法时,则取消用户自定义的坐标系,而采用默认的坐标系。,3.2.8 界面设计的基本原则 虽然Visual Basic可方便地将控件拖动并放置到窗体上来创建用户界面,但是在设计之前应该有所规划,这样应用程序的界面会更加符合要求。可先在图纸上画出窗体的草图,决定需要哪些控件,控件的基本位置,以及控件之间的关系。 窗体的构图或布局一般包括如下方面: (1)控件的位置 (2)界面元素的一致性 (3)窗体与其功能匹配 (4)空白空间的使用 (5)保持界面的简明 (6)使用颜色与图像 (7)图像和图标 (8)选取字体,3.3 上机实战,3.3.1 创建一个多窗体程序 本实例将演示如何创建一个多窗体程序。在这个应用程序中,将显示演示屏幕,登录对话框,“关于”对话框等窗体。 3.3.2 在窗体上绘图 本实例将创建一个简单的绘图程序,主要讲述如何使用窗体的绘图方法和如何处理窗体的鼠标事件。,3.4 常见问题解答,1如何为工程添加窗体? 答:选择“工程”|“添加窗体”菜单,将出现“添加窗体”对话框,在其中选择要添加的窗体或者可以添加一个现存的窗体到工程中。当添加现存的窗体到工程中时,添加的窗体名称不能与已经存在的窗体名称相同,否则会出现加载错误。 2窗体从加载到被卸载,最先和最后发生的事件是哪两个? 答:窗体加载过程中,最先发生的事件是Initialize事件,最后发生的事件是Terminate事件。 3如何使用图形方法创建持久图形? 答:设置窗体的AutoRedraw属性为True,则以后使用图形方法绘制的图形就成为持久图形,在窗体被遮盖后重新显示时,窗体会自动重画以前的图形。 4在Form_Load事件中,为何Print方法不起作用? 答:因为系统在窗体装入内存时,无法同步地在窗体上用Print方法显示信息。解决的方法是在属性窗口将窗体的AutoRedraw属性设置为True。,5如何使窗体上所有控件具有相同的Font属性? 答:只要先设置窗体的Font属性,则在该窗体上建立的控件对象都具有该Font属性,除非重新对某个控件进行相应的设置。 6什么是窗体的生命周期?其生命周期内可以有几种状态? 答:窗体的生命周期是指窗体从被应用程序加载到内存到从内存中卸载所经历的整个过程。在其生命周期内可以有五种状态。 7如何设置工程的启动对象? 答:可从“工程”菜单中,选取“工程属性”,再选“一般”,然后从“启动对象”对话框中选定要设置的启动对象。 8如何清除已绘制的图形? 答:清除已绘制的图形有两种方法,第一种是使用Cls方法,将清除窗体上的所有图形;第二种方法是设置DrawMode属性为Xor,在原位置上重新绘制一次图形,即可清除图形。,课后作业,1填空题: (1)在窗体从内存卸载的过程中,先发生_事件,再发生_事件,最后发生_事件。 (2)当窗体的大小发生改变时,会发生_事件。 (3)当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将发生_事件。 (4)在Visual Basic中,除了可以指定某个窗体作为启动对象之外,还可以指定_作为启动对象。 (5)在程序中使用Show方法,不一定会引发_事件。 (6)可以用来改变窗体坐标度量单位的是_属性。 (7)当Scale方法不带参数时,则采用_坐标系。 (8)窗体Form1的左上角坐标为(-200,250),窗体的右下角坐标为(300,-150)。X轴的正方向向_,Y轴的正方向向_。 (9)DrawStyle属性用于设置所画线的形状,此属性受到_属性的限制。 (10)Circle方法正向采用_时针方向。,2练习题 (1)建立窗体坐标系,在坐标系上使用Pset方法绘制 到 之间的正弦曲线。 (2)用Line方法在窗体上绘制艺术图案,程序构造图案的算法为:把一个半径为r的圆周等分为n份,然后用直线将这些点两两相连。 (3)修改“上机实战”中“在窗体上绘图”一节中的Form_MouseMove事件的代码如下:,Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Static tmpX As Integer, tmpY As Integer If blnMouseDown And blnLine Then Line(XPos, YPos)-(tmpX, tmpY), BackColor 用背景色重画以前的线,从而清除它 Line (XPos, YPos)-(X, Y) 动态地画线 tmpX = X: tmpY = Y 记录这次的坐标 ElseIf blnM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论