第一篇:VB6.0程序设计教案_第25、26课时
第25、26课时
上课时间:2014年4 月 2 日 备课时间:2014年 4 月 3日
【课题】
2.12 实现金额大写转换
【教学目标】
1、了解常用的内部函数的用法
2、掌握自定义函数的方法 【德育目标】
培养并强化学生自主探索学习的意识,相互协作解决问题的意识,感受自己探索解决问题后所引发的愉悦心情,从而提高学习兴趣。【教学重点】
常用的内部用法 【教学难点】
自定义函数的方法 【教具】
多媒体、计算机 【教学过程】
一、复习
1、事件过程分为哪几种?
2、参数传递的格式?
二、导入
上一章讨论了Visual Basic中事件过程和通用过程,以及参数传递和 SUB过程的调用。本节课我们来学习常用的内部函数。
三、自主学习
1、常用的内部函数
在程序中经常需要一些特定的运算或操作。Visual Basic把这些运算或操作进行了封装,以函数的形式提供给用户。合理使用这些函数,可以简化程序的设计。这些函数主要是:数学函数、字符串函数、日期和时间函数及转换函数。
1)数学函数:用于处理各种数学运算。2)字符串函数:Visual Basic提供了大量的字符串函数,这些函数具有强大的字符处理功能。
3)日期和时间函数:用于在程序中显示日期和事件。
4)格式输出函数:用于将数值、日期或字符串表达式按指定的格式输出,语法格式如下:
FORMAT(表达式[,格式字符串])其中表达式是要格式化的数值、日期或字符串表达式。格式字符串是表示按指定的格式输出表达式的值。格式字符串有3类:数值格式、日期格式和字符串格式。格式字符串要放在引号内。
5)数据类型转换函数:在Visual Basic中,一些数据类型可以自动转换,但是多数类型不能自动转换,需要用类型转换函数进行转换。
2、自定义函数
在Visual Basic中,除了内部函数外,还允许用户自定义函数,语法格式如下:
[Private︱Public][Static]Function<函数名>([参数列表])[AS 数据类型] [语句块] [函数名=表达式] [Exit Function] [语句块] [函数名=表达式] End Function Function过程的调用方法和内部函数的调用方法相同,语法格式如下:
函数名([参数列表])
在语句中可把函数名作为表达式或表达式的一部分直接使用。也可以使用调用Sub过程的语法来调用Function过程,此时将丢弃Function过程的返回值。
四、合作探究 编程设计:顾客在购买商品后,商家会开出一张发票,如果注意看一下,上面的金额有大小写两种,这就是人民币金额大小写转换的问题。在本任务中编写了一个金额大小写转换函数。
设计步骤:
1、创建一个标准EXE工程。
2、在属性窗口,把窗体Form1的Caption属性值修改为“任务12 实现金额大写转换”。
3、在窗体Form1的代码窗口中编写以下事件过程。Public Function n2c(n As String)As String Const num As String = “零壹贰叁肆伍陆柒捌玖” n2c = Mid(num, n + 1, 1)End Function Public Function numtochinese(number As Double)As String Const ex As String = “仟佰拾亿仟佰拾万仟佰拾元角分” Dim numstr As String, extmp As String, retstr As String Dim L As Integer, i As Integer number = number * 100 numstr = LTrim(Str(Int(number)))L = Len(numstr)extmp = right(ex, L)retstr = “" For i = 1 To L retstr = retstr + n2c(Val(Mid(numstr, i, 1)))+ Mid(extmp, i, 1)Next i numtochinese = retstr + ”整“ End Function Private Sub Form_Click()Cls Print Print Tab(6);” 人民币金额大小写转换“ Print Tab(6);”============================================“ Print Tab(8);1300689067.89 Print Tab(8);numtochinese(1300689067.89)Print Tab(6);”============================================" End Sub
4、把窗体文件和工程文件分别命名保存。
5、按F5键运行程序。
五、课堂小结
本节课主要通过设计小程序,掌握内部函数的使用方法。
第二篇:VB6.0程序设计教案_第51、52课时
第51、52课时
上课时间:2014年 5月 21日 备课时间:2014年 5月 18日
4.5 创建简单选课系统
【教学目标】
1、掌握列表框控件的应用;
2、掌握组合框控件的应用;
3、掌握复选框按钮控件的应用。【教学重点】
列表框控件和组合框控件的应用 【教学难点】
对Split函数的理解和应用 【教具】
多媒体、计算机 【教学过程】
一、复习
1、命令按钮控件的常用属性和常用事件?
二、导入
上一章讨论了Visual Basic中学习了单选按钮控件、框架控件以及复选框按钮控件的应用。本节课我们来通过制作小程序,学习列表框控件和组合框控件的应用。
三、自主学习
1、列表框控件
列表框(ListBox)控件用于显示项目列表,从其中可以选择一项或多项。如果项目总数超过了可显示的项目,就自动在列表框控件上添加滚动条。
列表框控件的常用属性如下:
1)List:返回或设置控件的列表框部分的项目。该属性值是一个字符串数组,数组的每个元素都是一个列表框项目,列表框控经·件在设计时可以通过属性窗口来设置。
2)ListCount:返回控件的列表部分项目的个数。
3)ListIndex:返回或设置控件中当前选择项目的索引,在设计时不可用。当选定列表的第一项时,ListIndex属性值为0,如果未选定项目,则ListIndex属性值是1,ListCount属性包含项目数,其值总是比最大的ListIndex值大1。
4)SelCount:返回在列表框控件中被选中项的数量。
5)Selected:返回或设置在列表框中的一个项的选择状态。该属性是一个布尔值数组,其项数与List属性相同。在设计时是不可用的。
6)Sorted:指定控件的元素是否自动按字母表顺序排序。
7)Style:指定列表框的样式。如果该属性值为0,则呈现为标准列表框;如果属性值为1,则呈现为复选框式列表框,每一个文本项的边上都有一个复选框,可以选择多项。
列表框控件的常用方法如下:
1)AddItem:用于将项目添加到列表框控件,语法格式如下: oList.AddItem item, index 其中oList表示列表框控件;参数Item为字符串表达式,用来指定添加到该列表框的项目;参数Index为整数,用来指定新项目在该列表框中的位置。对于列表框控件的首项,index为0。
如果所给出的Index值有效,则Item将防止在oList中相应的位置。如果省略index,则当Sorted属性设置为True时,item将添加到恰当的排序位置,当Sorted属性设置为False时,item将添加到列表框的结尾。
2)RemoveItem:从列表框控件中删除一项,语法格式如下: oList.RemoveItem index 其中oList表示列表框控件;参数index是一个整数,表示要删除的项在列表框中的位置。对于列表框中的首项,index为0。
2、组合框控件
组合框(ComboBox)控件将文本框控件和列表框控件的特性结合在一起,即可以在控件的文本框部分输入信息,也可以在控件的列表框部分选择一项。组合框控件的常用属性如下。
1)Style:用于设置组合框控件的样式。如果该属性值为0(默认值),则呈现为下拉式组合框,包括一个下拉式列表和一个文本框,可以从列表选择或在文本框中输入。如果该属性为1,则得到一个简单组合框,包括一个文本框和一个不能下拉的列表,可以从列表中选择或在文本框中输入。如果该属性值为2,则呈现为下拉式列表,这种样式仅允许从下拉式列表中选择。
2)Text:对于Style属性设置为0的下拉组合框或Style属性设置为1的简单组合框,返回或设置编辑域中的文本;对于Style属性设置为2的下拉列表框,返回在列表框中选择的项目,返回值总与表达式List(ListIndex)的返回值相同。
为了添加或删除组合框控件中的项目,需要使用AddItem或RemoveItem方法。利用List、ListCount和ListIndex属性可以实现对组合框中项目的访问。也可以在设计时使用List属性将项目添加到列表中。
3、Split函数
使用Split函数可以将一个字符串拆分为一个下标从0开始的一维数组,其中包含指定数量的子字符串。调用格式如下:
Split(Expression, Delimiter, Limit, Compare)其中参数Expression为必选项,是一个Single表达式,包含子字符串和分隔符;其他参数均为可选项。
Delimiter是用于标识子字符串的界限的任何单个字符。如果省略了Delimiter,则假定空白字符(“”)为分隔符。
Limit指定输入字符串应拆分到的子字符串的最大数量,默认值-1,指示在Delimiter字符串的每个匹配项处都拆分输入字符串。
Compare为一个数值,指示计算子字符串时使用的比较模式。若该参数为0,则执行二进制比较,即区分大小写字母;若该参数为1,则执行文本比较,即不区分大小写字母。
Split函数返回一个String数组。如果Expression为零长度字符串(“”),则Split返回包含零长度字符串的单个元素数组。如果Delimiter为零长度字符串,或它不在Expression中的任何位置出现,则Split将返回包含整个Expression字符串的单个元素数组。默认情况下,或Limit等于-1时,Split函数将在分隔符字符串的每个匹配项处拆分输入字符串,并以数组形式返回子字符串。当Limit参数大于0时,Split函数在分隔符的第一个Limit-1匹配项处拆分此字符串,并返回带有结果子字符串的数组。例如Split(“a:b:c”,”:”)返回的数组包含三个元素:“a”、“b”、“c”;而Split(“a:b:c”,2)返回的数组包含两个元素:“a”和“b:c”。
当Split函数在一行中遇到连个分隔符时,或在字符串的开头或结尾遇到分隔符时,会将它们解释为围绕空字符串(“”)。例如,Split(“XX”,“X”)返回的数组包含三个空字符串:一个在字符串开头和第一个“X”之间,第二个在两个“X”字符串之间,第三个在最后一个“X”和字符串结尾之间。
四、合作探究
编程设计:
创建一个简单的选课系统,当从组合框中选择不同专业时,通过列表框列出相关的课程,可以从中选择所需的课程,并允许添加或删除课程;当选择了一些课程并单击“确定”按钮后,通过另一个窗体列出选课结果。
设计步骤:
1、在Visual Basic集成开发环境中新建一个EXE工程,并把窗体文件和工程文件分别命名并保存。
2、利用属性窗口对窗体Form1的以下属性进行设置。将其Caption属性设置为“选课系统”。将其BorderStyle属性设置为1-Fixed Dialog。
3、在窗体FORM1依次添加以下控件。
1)标签lb1Major,将其Caption属性设置为“专业(&M):”
2)在工具箱中单击ComboBox图标,并在窗体上绘制一个组合框控件,然后将其命名为cboMajor。
3)标签lb1Course,将其Caption属性设置为“可选课程(&A):” 4)在工具箱中单击ListBox图标,并在窗体上绘制一个列表框控件,然后将其命名为1stCouse。
5)命令按钮cmdAdd,将其Caption属性设置为“>”。6)命令按钮cmdRemove,将其Caption属性设置为“<”。7)标签lb1SelectedCoourse,将其Caption属性设置为“已选课程(&S):” 8)列表框1stSelectedCourse。
9)命令按钮cmdOK,将其Caption属性设置为“确定”,Defaule属性设置为“True”。
10)命令按钮cmdCancel,将其Caption属性设置为“取消”,Cancel属性设置为True。
4、在窗体Form1的代码窗口中编写以下事件过程。
Private smajor As String, scourse1 As striing, scourse2 As String, scourse3 As String Private amajor()As String, acourse1()As String, acourse2()As String, acourse3()As String Sub listfill(ByVal oname As Control, aitem()As String)For i = 0 To UBound(aitem)oname.AddItem aitem(i)Next End Sub Private Sub cbomajor_click()lstcourse.Clear Select Case cbomajor.ListIndex Case 0 listfill lstcourse, acourse1 Case 1 listfill lstcourse, acourse2 Case 2 listfill lstcourse, acourse3 End Select End Sub Private Sub cmdadd_click()If lstcourse.ListCount > 0 And lstcourse.ListIndex <>-1 Then lstselectedcourse.AddItem lstcourse.List(lstcourse.ListIndex)lstcourse.renmoveitem lstcourse.ListIndex End If End Sub Private Sub cmdcancel_click()Unload Me End Sub Private Sub cmdok_click()Me.Hide form2.Show End Sub Private Sub cmdremove_click()If lstselectedcourse.ListCount > 0 And lstselectedcourse.ListIndex <>-1 Then lstcourse.addiem lstselectedcourse.List(lstselectedcourse.ListIndex)1 stselectedcourse.RemoveItem lstselectedcourse.ListIndex End If End Sub Private Sub Form_Load()smajor = “计算机软件,多媒体技术应用,计算机网络技术” scourse1 = “计算机操作与使用,计算机网络技术与应用,基于过程的程序设计,网页制作,数据库应用开发,桌面应用程序开发,软件开发实训” scourse2 = “计算机操作与使用,美术设计,多媒体技术应用,计算机图形图像处理,二维动画制作,三维动画制作,音频视频编辑处理,平面设计,影视制作,多媒体制作” scourse3 = “计算机操作与使用,计算机组装与维修,操作系统与网络服务器管理,计算机网络技术与应用,网络布线与小型局域网搭建,网页制作,中小型网站建设与管理” amajor = Split(smajor, “,”)listfill cbomajor, amajor cbomajor.Text = cbomajor.List(0)acourse1 = Split(scourse1, “,”)acourse2 = Split(scourse2, “,”)acourse3 = Split(scourse3, “,”)listfill lstcourse, acourse1 End Sub Private Sub lstcourse_dblclick()cmdadd_click End Sub Private Sub lstselectedcourse_dblclick()cmdremove_cllick End Sub
5、在当前工程中添加窗体Form2,并在该窗体上添加以下控件。1)标签lb1Resule,将其Caption属性清空。
2)文本框txtResult,将其MultiLine属性设置为True,ScrollBars属性设置为3.3)命令按钮cmdClose,将其Caption属性设置为“关闭”。
6、在窗体Form2的代码窗口中编写以下事件过程。Private Sub cmdclose_click()Unload Me End Sub Private Sub form_activate()Dim i As Integer, sresult As String lb1result = “你选择了” & Form1.cbomajor.Text & “专业。” & vbCrLf & “选择了以下课程:” For i = 0 To Form1.lstselectedcourse.ListCount-1 sresult = sresult & Form1.lstselectedcourse.List(i)& vbCrLf Next txtresult.Text = sresult Unload Form1 End Sub
7、按F5运行程序。
8、从“专业”下拉列表框中选择一个专业,此时“可选课程”列表框包含的项目将随之发生变化。在“可选课程”列表框中单击一门课程并单击“>”按钮或者双击要选择的课程,可使其进入“已选课程”列表框。若要从“已选课程”类表框中移除某门课程,可在该列表框中单击该课程并单击“<”按钮或者双击该课程。单击“确定”按钮,此时将显示另一个窗体并给出选课结果。
五、课堂小结
本节课主要通过设计小程序,学习了学习列表框控件和组合框控件的应用。
第三篇:VB6.0程序设计教案_第23、24课时
第23、24课时
上课时间:2014年 3月26 日 备课时间:2014年 3月24日
【课题】
2.11 制作猜宝游戏
【教学目标】
1、了解通用过程与事件过程
2、掌握参数的传递机制 【德育目标】
通过制作一个简单的游戏,提高学生对编程学习的吸引力。并引导学生正确对待游戏,学会合理安排游戏时间。【教学重点】
通用过程与事件过程 【教学难点】
参数的传递机制 【教具】
多媒体、计算机 【教学过程】
一、复习
1、动态数组的使用方法?
2、访问数组的方法?
二、导入
上一章讨论了Visual Basic中动态数组的使用方法。本节课我们来学习通用过程与事件过程以及参数的传递机制。
三、自主学习
为了简化程序设计,通常将程序分割成较小的逻辑部件,这些部件称为过程。在Visual Basic中,过程分为SUB过程(没有返回值)和Function过程(具有返回值)。所有的可执行代码都必须属于某个过程。Sub过程可以放在标准模块或窗体模块中。过程的定义是平行的,不能在过程中定义其他过程。
1、事件过程
事件过程分为窗体事件过程和控件事件过程,两者都是用Private进行声明。
窗体事件过程:
Private Sub Form_事件名[(参数列表)] 语句块 End Sub 控件事件过程:
Private Sub 控件名_事件名[(参数列表)] 语句块 End Sub 建立事件过程可以有以下3种方法。1)双击窗体或控件,即可打开代码编辑器窗口,并且会出现该窗体或控件的默认过程代码。
2)单击工程资源管理器窗口的“查看代码”按钮,然后从“对象”列表框中选择一个对象,从“过程”列表框中选择一个过程。
3)自己编写事件过程,在代码编辑器窗口中直接编写事件过程。
在事件过程中,过程的范围、名称和参数通常情况下不能修改,应使用其默认的范围、名称和参数。
2、通用过程
为了完成某个特定任务,通常会编写一段相对独立的程序。为了方便这段程序的维护和使用,这段程序一般用通用过程进行组织,语法格式如下:
[Private︱Public][Static]Sub过程名[(参数列表)] [语句块] [Exit Sub] [语句块] End Sub 若要建立通用过程,可打开代码编辑器窗口,从“对象”列表框中选择“通用”选项,然后在代码编辑区的空白处输入“Sub<过程名>”,按“回车”键后即会出现End Sub语句。
3、参数传递
声明过程时,参数列表应遵循以下语法格式:
[Optional][ByVal︳ByRef][ParamArray]变量名[()][As 数据类型名称] 其中,Optional表示参数是可选的,ByVal表示该参数按值传递,ByRef表示该参数按地址传递,ParamArray表示可以提供任意数目的参数,变量名命名遵循标识符命名规则,“()”表示变量是一个数组,As子句用来说明变量的类型。多个参数时,参数之间用逗号进行分隔。
下面分别讨论参数的关键字的用法。
1)按值传递参数。按值传递参数时,传递的知识变量的副本。如果过程改变了这个值,那么变动只影响副本而不会影响变量本身。用ByVal关键字,就可以指定参数是按值来传递的。
2)按地址传递参数。按地址传递参数时,传递的是变量的内存地址,过程通过变量的内存地址去访问实际变量的内容。将变量传递给过程时,通过过程可永远改变变量的值。按地址传递参数是VB过程参数传递的默认方式。
3)使用可选的参数。在过程的参数列表中加入Optional关键字,就可以指定过程的参数是可选的。如果制定了可选参数,则参数表中此参数后面的其他参数也必须是可选的,并且要用Optional关键字来声明。
VB过程的可选参数可以提供一个默认值,如果未将可选参数传递到函数过程,则返回一个默认值。
4)使用不定数量的参数。一般来说,过程调用中的参数个数应等于过程说明的参数个数。可用ParamArray关键字指明,过程将接受任意个数的参数。ParamArray只能用于参数列表中最后一个参数,并且不能与ByVal、ByRef和Optional一起使用。
4、SUB过程的调用
要执行一个过程,就必须调用过程。在VB中,事件过程一般由操作系统调用,比如鼠标事件等。通用过程则由通用过程或事件过程调用,通用过程最终由事件过程调用执行。在VB中,调用Sub过程有以下两种方式。
1)用Call语句调用过程,语法格式如下: Call 过程名[(实际参数)] 用Call语句调用一个过程时,如果过程本身没有参数,则实际参数和括号可以省略;否则应给出相应的实际参数,并把参数放在括号中。
2)把过程名作为一个语句使用,语法格式如下: 过程名 [实际参数] 与第1种过程调用方式相比,这里省掉了关键字Call,实际参数也不能放在括号中
四、合作探究
编程设计:制作猜宝游戏:首先将宝放在左手,是否放到右手由随机函数来决定,交换的过程通过两个自定义过程完成,这两个过程的形式相同,参数相同,只是参数的传递方式不同。一个是按值传递,一个是按地址传递,结果截然不同。
设计步骤:
1、创建一个标准EXE工程。
2、在属性窗口,把窗体Form1的Caption属性值修改为“任务11 制作猜宝游戏”。
3、在窗体Form1的代码窗口中编写以下事件过程。Sub ex1(ByVal a As String, ByVal b As String)Dim tmp As String tmp = a: a = b: b = tmp End Sub Sub ex2(ByRef a As String, ByRef b As String)Dim tmp As String tmp = a: a = b: b = tmp End Sub
Private Sub Form_Click()Dim left As String, right As String left = “有”: right = “无” Randomize(Timer)If Rnd > 0.5 Then ex1 left, right Else ex2 left, right End If Cls Print Print Tab(6);“ 猜宝游戏” Print Tab(6);“=====================================” Print Tab(12);“现在是:” Print Print Tab(12);“左手:”;left;“ ”;“右手:”;right Print Print Tab(12);“猜一下:下一次宝在哪个手(鼠标单击继续)。” Print Tab(6);“=====================================” End Sub
4、把窗体文件和工程文件分别命名保存。
5、按F5键运行程序。
五、课堂小结
本节课主要通过设计小程序,了解了通用过程和事件过程的应用,正握了参数的传递机制。
第四篇:VB6.0程序设计教案_第31、32课时
第31、32课时
上课时间:2014年4月10日 备课时间:2014年 4月 7日
【课题】
3.2 保持窗体上的标签文本居中
【教学目标】
1、了解窗体的ScaleHeight属性和ScaleWidth属性的用法
2、了解窗体的Resize事件和Unload事件的用法 【德育目标】
培养学生勇于探索未知世界,积极主动学习的思想,将来为祖国的科技发展做出贡献。【教学重点】
上述两种属性和事件的应用 【教学难点】
对事件的理解 【教具】
多媒体、计算机 【教学过程】
一、复习
1、窗体的Load事件和Click事件的格式?
二、导入
上一章讨论了Visual Basic中的窗体的常用属性以及两个事件的用法。本节课我们来学习窗体的属性和事件的应用。
三、自主学习
1、窗体的ScaleHeight属性和ScaleWidth属性
窗体的ScaleHeight属性和ScaleWidth属性分别用来返回窗体内部的宽度和高度。这连个属性在设计时是不可用的,并且在运行时是只读的。
窗体的ScaleHeight属性和ScaleWidth属性给出了窗体的内部尺寸,不包括边框厚度及菜单或标题等高度。而窗体的尺寸则由Width属性和Height属性决定。
窗体时控件的容器,控件在窗体上的坐标是用其Top属性和Left属性定义的。Width属性和Height属性决定了控件的宽度和高度。
2、窗体的Resize和Unload事件
1)Resize:当窗体第1次显示或窗体的外观尺寸被改变时发生,语法格式如下:
Private Sub Form_Resize()2)Unload:当窗体从内存中卸载时发生。当船体被加载时,它的所有控件的内容均被重新初始化。当使用控件菜单中的关闭命令、关闭按钮或Unload语句关闭该窗体时,此事件被触发。语法格式如下:
Private Sub Form_Unload(cancel As Integer)其中参数Cancel为整数,用来确定窗体是否卸载。如果Cancel为0,则窗体被卸载。将Cancel设置为任意一个非零值可防止窗体被删除。
通常将参数Cancel设置为任意一个非零值可防止窗体被删除,但不能阻止其他事件,诸如从Windows环境中退出等。可以用QuryUnload事件阻止从Windows操作系统中退出。在窗体被卸载时,可以用Unload事件过程来确认窗体是否被卸载或用来指定想要发生的操作。
四、合作探究
编程设计:利用响应窗体Resize事件来改变标签Label的顶点坐标和宽度的值,从而实现当改变窗体大小时,标签文本始终出现在窗体中央。当退出程序时,通过响应窗体Unload事件,提示确认关闭程序。
设计步骤:
1、在Visual Basic集成开发环境中新建一个EXE工程,并把窗体文件和工程文件分别命名并保存。
2、把窗体Form1调整到所需的大小,并将其Caption属性值设置为“保持窗体上的标签文本居中”。
3、在工具箱单击Label图标,在窗体Form1上拖动鼠标以添加标签控件Label1,然后在属性窗口中将标签Label1的Caption属性值设置为“欢迎使用Visual Basic 6.0”,并设置Font属性,把AutoSize属性设置为True。
4、在窗体Form1的代码窗口中编写以下代码。Private Sub Form_Resize()label1.Left = Int(Form1.ScaleWidth / 2)Int(label1.Height / 2)End Sub
Private Sub Form_Unload(Cancel As Integer)Dim a As Integer a = MsgBox(“是否要关闭程序?”, vbQuestion + vbYesNo, “信息提示”)If a = vbNo Then Cancel = 1 End If End Sub
5、保存所有文件。
6、按F5运行程序。
7、当改变窗体大小时,文字信息一直保持在窗口中央。关闭窗口时,弹出对话框,单击“是”按钮,则退出程;单击“否”按钮,则返回程序。
五、课堂小结
本节课主要通过设计小程序,熟悉了窗体的scaleheight属性和scalewidth属性,以及窗体的resize事件和unload事件。
第五篇:VB6.0程序设计教案_第41、42课时
第41、42课时
上课时间:2014年4月25日 备课时间:2014年 4月 22日
3.7 创建多文档界面应用程序
【教学目标】
1、掌握创建MDI窗体的方法;
2、掌握创建快速显示窗体的方法。【教学重点】
MDI窗体和子窗体的创建 【教学难点】
创建快速显示窗体 【教具】
多媒体、计算机 【教学过程】
一、复习
1、CommandDialog控件的常用方法和属性?
二、导入
上一章讨论了Visual Basic中CommandDialog控件的常用方法和属性。本节课我们来学习创建MDI窗体和子窗体的方法。
三、自主学习
1、多文档界面(MDI)应用程序 MDI应用程序具有以下特性。
1)所有子窗体均显示在MDI窗体的工作空间内。像其他窗体一样,用户能移动子窗体和改变子窗体的大小,不过,它们被限制于这一工作空间内。
2)当最小化一个子窗体时,它的图标将显示在MDI窗体上而不是在任务栏中。当最小化MDI窗体时,此MDI窗体及其所有子窗体将由一个图标来代表。当还原MDI窗体时,MDI窗体及其所有子窗体将按最小化之前的状态显示出来。
3)当最大化一个子窗体时,它的标题会与MDI窗体的标题组合在一起并显示于MDI窗体的标题栏上。MDI窗体拥有一些普通窗口所没有的属性,包括:
1)AutoShowChildren:通过设置该属性,子窗体可以在窗体加载时自动显示或自动隐藏。
2)ActiveForm:该属性表示MDI窗体中的活动子窗体。创建MDI应用程序的步骤如下:
1)从“工程”菜单中选择“添加MDI窗体”命令。
2)创建应用程序的子窗体。要创建一个MDI子窗体,可先创建一个新窗体(或者打开一个存在的窗体),然后把它的MDIChild属性设为True。
3)设计时使用MDI子窗体。在设计时,子窗体不限制在MDI窗体区域之内。可以添加控件、设置属性、编写代码及设置子窗体功能,就像在其他Vsiual Basic窗体中做的那样。
注意:
一个应用程序只能有一个MDI窗体。如果工程已经有了一个MDI窗体,则该“工程”菜单上的“添加MDI窗体”命令不可使用。
2、快速显示窗体
快速显示窗体一般作为程序的封面使用,这种窗口一般没有命令按钮,没有标题栏。当出现快速显示窗体时,按任意键或用鼠标单击窗口,它就会被卸载并调用应用程序主窗体。
制作快速显示窗体时,在工程中新建一个窗体,将窗体的BorderStyle属性设置为3,ControlBox属性设置为False,Caption属性设置为空字符串,并在该窗体中添加一些标签和图片。此外,还必须通过设置工程属性,把快速显示窗体设置为应用程序的启动对象。
四、合作探究
编程设计:
在本任务中创建一个应用程序,当启动该应用程序时首先出现一个快速显示窗体;当该窗体消失后出现一个多文档界面窗体,其中包含两个子窗体。
设计步骤:
1、在Visual Basic集成开发环境中新建一个EXE工程,并把窗体文件和工程文件分别命名并保存。
2、把窗体Form1调整到所需的大小,并将其Caption属性值设置为“MDI子窗体之一”,MDIChild属性值设置为True,使该窗体称为一个MDI子窗体。
3、通过以下操作添加MDI窗体。
1)从“工程”菜单中选择“添加MDI窗体”命令。
2)弹出“添加MDI窗体”对话框,在“新建”选项卡中选择“MDI窗体”,单击“打开”按钮。
3)将新添加的MDI窗体文件命名,并保存。将该MDI窗体的Caption属性值设置为“MDI窗体”。
4、添加另一个MDI子窗体。
5、从“工程”菜单中选择“添加窗体”命令,弹出“添加窗体”对话框,从“新建”选项卡中选择“展开屏幕”选项,然后单击“打开”按钮,新添加的窗体名称为frmSplash,将窗体文件命名为frmSplash.frm,并保存,此窗体中包含一些控件。
6、在属性窗口中,对窗体frmSplash上得控件进行设置。
7、设置应用程序的启动对象。
8、打开窗体的frmSplash的代码窗口,对已有的程序进行修改,代码属下: Private sub form_keypress(keyascii as integer)Unload me Mdiform1.show End sub Private sub form_load()Lblversion.caption= “版本” & app.major & “.” & app.minor & “.”& app.revision Lvlproductname.caption = app.title End sub Private sub frame1_click()Unload me Mdiform1.show End sub
8、在窗体MDIForm1的代码窗口中编写以下事件过程。Private sub mdiform_activate()Form1.show Form2.show End sub
9、保存所有文件。
10、按F5运行程序。
11、当出现快速显示窗体时,按任意键或用鼠标单击该窗口,该窗口被隐藏。出现一个多文档界面窗体,气宗包含连个子窗体。关闭MDI窗体时,子窗体随之关闭。
五、课堂小结
本节课主要通过设计小程序,创建MDI窗体的方法和创建快速显示窗体的方法。