教学课件第三章窗体和简单的输入输出

上传人:hs****ma 文档编号:569124494 上传时间:2024-07-27 格式:PPT 页数:32 大小:503.97KB
返回 下载 相关 举报
教学课件第三章窗体和简单的输入输出_第1页
第1页 / 共32页
教学课件第三章窗体和简单的输入输出_第2页
第2页 / 共32页
教学课件第三章窗体和简单的输入输出_第3页
第3页 / 共32页
教学课件第三章窗体和简单的输入输出_第4页
第4页 / 共32页
教学课件第三章窗体和简单的输入输出_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《教学课件第三章窗体和简单的输入输出》由会员分享,可在线阅读,更多相关《教学课件第三章窗体和简单的输入输出(32页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 窗体和简单的输入输出窗体和简单的输入输出Form对象的属性、方法和事件对象的属性、方法和事件输入对话框和消息对话框输入对话框和消息对话框编码风格编码风格VB的窗体类型的窗体类型SDI窗体窗体(Single Document Interface)程序运行中只有一个窗口被激活和显示程序运行中只有一个窗口被激活和显示MDI窗体窗体(Multiple Document Interface)程序管理和显示多个窗口(比如程序管理和显示多个窗口(比如word,一个父,一个父窗口中管理多个子窗口)窗口中管理多个子窗口)VB的窗体(的窗体(Form)常用属性:常用属性:Caption 控制窗体标题

2、栏的文字控制窗体标题栏的文字BorderStyle 控制窗体如何调整大小或不可调整控制窗体如何调整大小或不可调整MaxButton,MinButton 是否能最大化和最小化是否能最大化和最小化StartPosition 窗体在屏幕上的显示位置窗体在屏幕上的显示位置Moveable 是否可移动是否可移动WindowState 启动时是最小化或最大化或正常启动时是最小化或最大化或正常Picture 指定窗体内要显示的图片指定窗体内要显示的图片Set Form1.Picture = LoadPicture(“c:bkground.jpg”)Icon 窗体最小化时的图标窗体最小化时的图标常量名常量名值

3、值意义意义vbBSNone0无边框的窗口无边框的窗口vbFixedSingle1单单边边框框的的固固定定窗窗口口。可可以以包包含含控控制制菜菜单单框框、标标题题栏、关闭按钮。栏、关闭按钮。vbSizable(缺缺省省值)值)2普通可调整大小的窗口,包含所有边框元素。普通可调整大小的窗口,包含所有边框元素。vbFixedDouble3固固定定大大小小的的对对话话框框。可可以以包包含含控控制制菜菜单单框框和和标标题题栏。栏。vbFixedToolWindow4固固定定工工具具窗窗口口,不不能能改改变变尺尺寸寸。显显示示关关闭闭按按钮钮并并用用缩缩小小的的字字体体显显示示标标题题栏栏。运运行行窗窗体

4、体在在Windows的任务栏中不显示。的任务栏中不显示。vbSizableToolWindow5可可 变变 尺尺 寸寸 的的 工工 具具 窗窗 口口 , 其其 它它 特特 性性 同同vbFixedToolWindow。BorderStyle属性属性常量名常量名值值意义意义vbStartUpManual0没有指定初始设置值没有指定初始设置值vbStartUpOwner1所属容器的中央所属容器的中央vbStartUpScreen2屏幕中央屏幕中央vbStartUpWindowsDefault3窗口缺省,系统自动指定一个位置窗口缺省,系统自动指定一个位置StartUpPosition属性属性常量名常

5、量名值值意义意义vbNormal0缺省值,正常大小缺省值,正常大小vbMinimized1最最小小化化为为一一图图标标,显显示示在在Windows任务栏中任务栏中vbMaximized2最大化,充满屏幕整个工作区最大化,充满屏幕整个工作区WindowState属性属性窗体上的所有控件都是窗体对象的属性元素窗体上的所有控件都是窗体对象的属性元素引用其它窗体控件(如果是当前窗体,则可省略窗体名)引用其它窗体控件(如果是当前窗体,则可省略窗体名) FormMain.txtName.Text = “Tom” txtName = “Tom” 窗体和控件坐标窗体和控件坐标Height,Width计量单位为

6、缇计量单位为缇Twip 1英寸英寸=1440Twip改变窗体的改变窗体的ScaleMode属性可设置为其它计量单位属性可设置为其它计量单位 控件的控件的Top, Left属性是相对窗体的坐标来定义,不是屏幕坐标属性是相对窗体的坐标来定义,不是屏幕坐标窗体上的控件窗体上的控件窗体的生命周期和事件窗体的生命周期和事件通常通常VB窗体在整个存活期有窗体在整个存活期有4种状态种状态:创建状态创建状态加载状态加载状态可见状态可见状态卸载状态卸载状态 创建创建Initialize事件事件可见可见加载加载Load事件事件获得焦点获得焦点Activate和和GotFocus事件事件失去焦点失去焦点Deacti

7、vate和和LostFocus事件事件卸载卸载QueryUnload和和Load事件事件Terminate事件事件不同状态下有不同的特征事件不同状态下有不同的特征事件状态的转换状态的转换窗体的创建窗体的创建创建标志创建标志: Initialize事件事件 Form_Initialize事件过程事件过程此种状态下此种状态下:窗体的代码装入内存(在内存中创建了对象)窗体的代码装入内存(在内存中创建了对象)窗体的控件窗体的控件(可视部分可视部分)未装入内存,不可见未装入内存,不可见该阶段很短暂,很快自动进入加载状态。通该阶段很短暂,很快自动进入加载状态。通常将一些初始化的操作放在该事件过程中。常将一

8、些初始化的操作放在该事件过程中。加载方法加载方法: 使用使用Load命令或自动加载命令或自动加载加载事件:加载事件: Load事件事件此种状态下此种状态下:窗体的所有控件都装入内存,但窗体仍未显示窗体的所有控件都装入内存,但窗体仍未显示自动加载自动加载自动从创建自动从创建状态进入加状态进入加载状态载状态该窗体是启动窗体该窗体是启动窗体(自动可见自动可见)窗体的窗体的Show方法首先被调用方法首先被调用(自动可见)自动可见)首先被调用的是窗体内置的成员首先被调用的是窗体内置的成员,如如Move方法或操作其中某个控件的属性方法或操作其中某个控件的属性用用Load命令加载窗体命令加载窗体,如如Loa

9、d frmSecond加载窗体加载窗体【例】设计程序,使窗体一打开就在屏幕的右下角。【例】设计程序,使窗体一打开就在屏幕的右下角。除除Left和和Top属属性性以以外外,窗窗体体没没有有其其它它属属性性来来指指定定窗窗体体位位置置,虽虽然然“窗窗体体布布局局”窗窗口口可可以以设设置置窗窗体体的的启启动动位位置置,但但为为了了精精确确可可以以用用代代码码来来完完成成 (可可以以响响应应Load事事件件,因因为为此此时界面还未显示时界面还未显示):Private Sub Form_Load () Form1.Top = Screen.Height Form1.Height Form1.Left =

10、 Screen.Width Form1.WidthEnd Sub【提示】【提示】Screen是一个全局的系统对象,对应于计算机是一个全局的系统对象,对应于计算机屏幕,可以直接使用。屏幕,可以直接使用。窗体示例窗体示例可见状态可见状态使用使用Show方法窗口即可见,或者直接进入自动可见方法窗口即可见,或者直接进入自动可见frmMain.Show显示或隐藏窗体显示或隐藏窗体If Form2.Visible ThenForm2.HideElseForm2.ShowEnd If模式窗体和无模式窗体模式窗体和无模式窗体 Form1.Show 1 模式窗体模式窗体 不能将焦点切换到其它窗体不能将焦点切换到

11、其它窗体 Form1.Show 0 无模式窗体无模式窗体 可以将焦点切换到其它窗体可以将焦点切换到其它窗体可见状态的事件可见状态的事件改变焦点控制权事件:改变焦点控制权事件:窗体的活动状态:窗体的活动状态:Activate事件事件(获得控制权获得控制权/焦点焦点) Form1_Activate() MsgBox “Hello” End Sub窗体的非活动状态:窗体的非活动状态:Deactivate事件事件(失去控制权失去控制权/焦点焦点) Form1_DeActivate() MsgBox “See you later” End Sub此外,焦点事件会伴随以上两个事件发生:此外,焦点事件会伴随

12、以上两个事件发生:Activate紧跟着紧跟着GotFocus事件,事件,Deactivate事件前有一个事件前有一个LostFocus事件事件卸载窗体卸载窗体卸载方法卸载方法: Unload命令或通过界面操作窗体关命令或通过界面操作窗体关闭按钮实现自动卸载闭按钮实现自动卸载Private Sub cmdExit_Click()Unload meEnd Sub或或Private Sub cmdExit_Click()Unload frmMainEnd Sub卸载事件卸载事件Form_QueryUnload事件事件该事件过程发生在正式卸载之前,可为用户提供停止该事件过程发生在正式卸载之前,可为用

13、户提供停止卸载的机会卸载的机会Form_QueryUnload(Cancel As Integer, Unloadmode As Integer)cancel ,设置为非零值,可停止窗体的关闭设置为非零值,可停止窗体的关闭unloadmode,指示引起此事件的原因指示引起此事件的原因如如 vbFormControlMenu,vbFormCode. *当使用当使用End语句或在开发环境按语句或在开发环境按“结束结束”按钮时,按钮时,QueryUnload事件不会发生事件不会发生Form_Unload事件事件窗口确实要关闭时引发窗口确实要关闭时引发Unload 事件,可以做最后的提事件,可以做最后

14、的提示,如数据是否保存等示,如数据是否保存等鼠标事件鼠标事件【例】编写程序在窗口标题栏中显示鼠标当前的坐标位置。【例】编写程序在窗口标题栏中显示鼠标当前的坐标位置。Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.Caption = 鼠标事件演示鼠标事件演示 水平坐标水平坐标= & X & 垂直坐标垂直坐标= & YEnd Sub提示:提示:&是字符串连接操作符是字符串连接操作符程序中只需要响应鼠标移动事件,事件过程中鼠标的坐标会通过程序中只需要响应鼠标

15、移动事件,事件过程中鼠标的坐标会通过参数参数X和和Y传递进来,然后修改窗体标题即可。如果设置的是当前传递进来,然后修改窗体标题即可。如果设置的是当前窗体的某些属性,可以省略窗体名,或用关键字窗体的某些属性,可以省略窗体名,或用关键字Me来指代。如来指代。如: Me.Caption = 鼠标事件演示鼠标事件演示 水平坐标水平坐标= & X & 垂直坐标垂直坐标= & Y键盘事件键盘事件【例】编写程序利用键盘【例】编写程序利用键盘“+”和和“-”实现窗口的变大和变小。实现窗口的变大和变小。Private Sub Form_KeyPress(KeyAscii As Integer) Select C

16、ase KeyAscii Case Asc(+) Me.Width = Me.Width * 1.05 Me.Height = Me.Height * 1.05 Case Asc(-) Me.Width = Me.Width * 0.95 Me.Height = Me.Height * 0.95 End SelectEnd Sub由由于于参参数数KeyAscii是是一一个个整整数数的的Ascii码码,所所以以将将“+”和和“-”字字符符转转换换为为对对应应的的Ascii码后再作比较。码后再作比较。 窗体的窗体的KeyPreview属性属性注意:如果设计的是一个空白的窗体,窗体能正注意:如果设计

17、的是一个空白的窗体,窗体能正常响应键盘事件,而不需要任何额外的设置。但常响应键盘事件,而不需要任何额外的设置。但是如果窗体中放置了控件(尝试放一个是如果窗体中放置了控件(尝试放一个TextBox控件),则程序运行后,输入焦点会位于控件上,控件),则程序运行后,输入焦点会位于控件上,焦点控件对于键盘事件有优先响应的权利,窗体焦点控件对于键盘事件有优先响应的权利,窗体就无法接受到键盘事件了。这时只需要简单地将就无法接受到键盘事件了。这时只需要简单地将窗体的窗体的KeyPreview属性设置为属性设置为True,那么在控件,那么在控件的键盘事件发生之前会激活窗体的键盘事件。的键盘事件发生之前会激活窗

18、体的键盘事件。 Resize事件事件当窗口第一次显示或窗口当窗口第一次显示或窗口大小改变大小改变时该事件发生。时该事件发生。例例如如当当窗窗口口调调整整大大小小时时,可可用用Resize事事件件过过程程来来移移动动窗窗口口中中的的控控件位置或调整其大小,使界面保持美观。件位置或调整其大小,使界面保持美观。【例例】设设计计包包含含一一个个TextBox控控件件的的窗窗体体,要要求求该该控控件件总总是是充充满满整整个个窗窗口口。(其其中中可可以以用用到到窗窗体体的的ScaleWidth和和ScaleHeigth属属性性,他他们们代表窗口内部绘图区域的宽度和高度。代表窗口内部绘图区域的宽度和高度。)

19、 代码如下:代码如下:Private Sub Form_Resize() Text1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeightEnd Sub设计多个窗体的应用程序设计多个窗体的应用程序执行菜单命令执行菜单命令“工程工程|添加窗体添加窗体”可以让可以让一个应用程序包含多个不同界面的窗体。一个应用程序包含多个不同界面的窗体。当需要显示某个窗体时,使用该窗体的当需要显示某个窗体时,使用该窗体的Show方法,如方法,如Form2.Show;需要关闭;需要关闭某个窗体时,使用某个窗体时,使用Unload命令,如命令,如Unload Form2。设置启动窗体设置启动

20、窗体多个窗体的应用程序必须指定一个启动窗体多个窗体的应用程序必须指定一个启动窗体有启动窗体有启动窗体默认情况下是第一个创建的窗体,否则:默认情况下是第一个创建的窗体,否则:在在“工程工程”菜单中,选菜单中,选“工程属性工程属性”选选“通用通用”选项卡选项卡在在“启动启动”列表框中,选中所要窗体列表框中,选中所要窗体*如果需要程序启动时的快速显示窗体如果需要程序启动时的快速显示窗体*可以使用可以使用“Splash屏幕屏幕”模板创建一个启动屏幕窗体模板创建一个启动屏幕窗体不使用启动窗体不使用启动窗体在标准模块在标准模块(.bas)中定义主过程中定义主过程Main(类似(类似C的的main)Sub

21、Main().End Sub在在“启动启动”列表框中,选中列表框中,选中“Sub Main”结束应用程序结束应用程序以下三种方法可以结束程序以下三种方法可以结束程序:End语句,使应用程序立即结束,所有对象都释放,语句,使应用程序立即结束,所有对象都释放,不触发不触发Unload和和QueryUnload事件事件只有一个窗体,在窗体代码中使用只有一个窗体,在窗体代码中使用Unload me语句语句程序有多个窗体,使用程序有多个窗体,使用Forms集合和集合和Unload语句语句(此方法不常用)(此方法不常用)For i=0 to Forms.Count -1 Unload Forms(i)Ne

22、xt消息框消息框MsgBox消息框的组成:消息框的组成:图标图标消息正文消息正文命令按钮命令按钮消息标题消息标题消息框之消息正文消息框之消息正文MsgBox( prompt ,buttons ,title ,helpfile, context )prompt 对话框中显示的消息对话框中显示的消息如果有多行信息,则每行结尾加上回车符如果有多行信息,则每行结尾加上回车符chr(10) 和换行符和换行符chr(13),或者常量,或者常量vbCrlf 如:如:“但愿人长久但愿人长久”& chr(10) & chr(13) & “千里共婵娟千里共婵娟” “但愿人长久但愿人长久”& vbCrlf & “千

23、里共婵娟千里共婵娟”提示:提示:函数函数chr(65)将将Ascii码转换为字符,码转换为字符,Asc(“A”)将字符转换将字符转换为为Ascii码码buttons 指定显示按钮的数目和形式,图标样式,指定显示按钮的数目和形式,图标样式,默认按钮等,有以下四组取值:默认按钮等,有以下四组取值:vbOKOnly, vbOKCancel, vbYesNo, vbRetryCancel.按钮样式按钮样式vbCritical,vbQuestion,vbInformation.图标样式图标样式vbDefaultButton1, vbDefaultButton2.默认按钮默认按钮vbApplication

24、Modal, vbSystemModal 强制返回性强制返回性Buttons的取值是由每组类型的参数中取一个值,的取值是由每组类型的参数中取一个值,然后相加然后相加消息框之命令按钮消息框之命令按钮title :可选,对话框的标题,如省略标题则为应用程可选,对话框的标题,如省略标题则为应用程序名序名返回值返回值vbOK, vbCancel, vbAbort, vbRetry, vbIgnore, vbYes, vbNo消息框之标题和返回值消息框之标题和返回值BackString=InputBox( prompt ,title ,default ,xpos,ypos,helpfile, conte

25、xt )BackString 对话框中的返回值对话框中的返回值prompt 对话框中显示的提示信息,必选项对话框中显示的提示信息,必选项title 可选,对话框的标题,缺省标题为应用程序名可选,对话框的标题,缺省标题为应用程序名default 可选,输入文本框中的缺省值可选,输入文本框中的缺省值xpos,ypos 对话框与屏幕左边和上边的距离对话框与屏幕左边和上边的距离如:如:Dim strName As StringstrName = InputBox(“请输入用户名请输入用户名:”, “用户登录用户登录”, “manager”, 800, 800)输入对话框输入对话框【例】输入任意一个数字

26、,输出其二次方结果。【例】输入任意一个数字,输出其二次方结果。Private Sub Form_Click()Dim num As Integer num = InputBox(“请输入数字请输入数字) Print num * numEnd Sub提示:虽然提示:虽然Print方法是窗体的方法,但在当前窗体下,方法是窗体的方法,但在当前窗体下,可以省略窗体名。此外使用可以省略窗体名。此外使用Cls方法可以清除窗体方法可以清除窗体窗体的窗体的Print方法方法书写代码的规则书写代码的规则 1 1不区分大小写不区分大小写在在VB中中所所有有的的关关键键字字、常常量量名名、变变量量名名以以及及对对象

27、象属属性性等等在在书书写写时时不不区区分分英英文文大大小小写写。但但字字符符串串的的值值,值值A和和值值a是两个不同的值。是两个不同的值。2 2使用注释使用注释注注释释语语句句以以单单引引号号 开开始始,可可以以单单独独书书写写一一行行,也也可可以以与程序语句在同一行。与程序语句在同一行。3 3将长语句分行书写将长语句分行书写续行符续行符 _ 可将长语句分成多行书写。可将长语句分成多行书写。注注意意续续行行符符不不能能将将一一个个完完整整的的单单词词或或一一对对双双引引号号括括起起的的字字符串分为两行。在同一行内,续行符后面不能加注释。符串分为两行。在同一行内,续行符后面不能加注释。4 4缩进式书写缩进式书写VB提提供供了了自自动动缩缩进进的的功功能能。此此外外可可以以使使用用“编编辑辑”工工具具栏进行整段代码左移、右移或进行注释等栏进行整段代码左移、右移或进行注释等使用编辑工具栏使用编辑工具栏“编辑编辑”工具栏通过【视图】工具栏通过【视图】【工具栏】菜单来选择。【工具栏】菜单来选择。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号