




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章 对话框的设计,第6章 对话框的设计,6.1 知识要点 6.2 习题与解答 6.3 实训指导 6.4 测验题,6.1知识要点,1、预定义对话框 预定义对话框是系统已经设计好的对话框,它们可以通过程序执行具体的函数来被显示。在Visual Basic 6.0中,预定义对话框包含输入对话框和消息框。,(1)输入对话框 创建输入对话框的标准函数是InputBox函数,该函数显示一个接收用户输入的对话框,对话框中显示提示文本,等待用户输入或按下按钮,并返回文本框的内容。 InputBox函数的语法格式为: InputBox (prompt,title,default,xpos,ypos,helpfile,context),其中: Prompt为必需的字符串表达式参数,提供显示在对话框中的提示文本。 Title为可选字符串表达式参数,提供标题显示在对话框的标题栏中。 Default为可选字符串表达式参数,提供输入框的缺省输入文本。 Xpos和Ypos都是可选的数值表达式,成对出现,指出对话框左上角的屏幕坐标。 InputBox函数返回文本框中输入的内容,为字符串类型。,(2)消息框 创建消息框的标准函数是MsgBox函数,该函数在对话框中显示消息,等待用户按下按钮,并返回一个整数来表示用户按下了哪一个按钮。 MsgBox函数的语法格式为: MsgtBox(prompt,buttons,title,helpfile,context) 其中: Prompt是必要的字符串表达式参数,作为显示在对话框中的消息。,Buttons是可选参数,该数值表达式是分别代表显示按钮形式、使用图标样式、缺省按钮样式和对话框模式的四个数值的和。 Title是可选参数。该字符串表达式作为标题显示在消息框的标题栏中。 MsgBox函数返回值为16之间的一个整数,表示用户按下了“确定”、“取消”、“终止”、“重试”、“忽略”或“是”按钮。,2、通用对话框 (1)通用对话框的使用 把“通用对话框(Common Dialog)”控件添加到工具箱中的方法为: 从“工程”菜单中选“部件”命令,或用鼠标右键单击工具箱,选其中“部件”命令,弹出“部件”对话框。,在“部件”对话框的“控件”选项卡中,查找“Microsoft Common Dialog Control 6.0”并将其选中,然后单击“确定”按钮。 “通用对话框”提供的六种对话框可以通过设置它的Action属性或调用对应的六种方法来打开。通用对话框的属性、方法和含义见表6-1。,表6-1 通用对话框的属性、方法和作用,(2)“打开”对话框 “打开”对话框的功能是指定文件的驱动器、目录、文件扩展名和文件名。使用“打开”对话框时,通常首先对其进行属性设置,各属性含义和设置方法如下: 对话框标题(DialogTitle属性):设置对话框的标题,缺省值为“打开”。 文件名称(FileName属性):设置“打开”对话框中“文件名”区中的初始文件名,同时也能返回用户在对话框中选中的文件名。,初始化路径(InitDir属性):设置初始目录,同时也能返回用户选择的目录名。 过滤器(Filter属性):设置对话框中的文件列表中显示的文件类型。设置过滤器属性的格式为: description1 | filter1 | description2 | filter2 其中,description是在“打开”对话框中的文件类型列表框中显示的字符串。,标志(Flags属性):用来修改每个具体对话框的默认操作。 缺省扩展名(DefaultExt属性):设置在对话框中的缺省扩展名 文件最大长度(MaxFileSize属性):设置文件名的最大字节数。,过滤器索引(FilterIndex属性):用索引值来指定对话框使用哪一个过滤器。 取消引发错误(CancelError属性):决定当用户单击对话框上的“取消”按钮时,是否会显示一个报错信息的消息框。 注:CancelError属性的设置方法对其他几种对话框也同样适用。,(3)“保存”对话框 “保存”对话框也是在Windows应用程序中经常用到的。用ShowSave方法显示对话框,它同样能指定文件的驱动器、目录、文件扩展名和文件名,其使用方法和“打开”对话框的使用方法基本相同。,(4)“颜色”对话框 “颜色”对话框用来在调色板中选择颜色,或者是创建并选择自定义的颜色。要使用“颜色”对话框,通常先设置“通用对话框”控件中与颜色对话相关的属性,然后使用ShowColor方法显示对话框,使用Color属性获得所选择的颜色。,在“通用对话框”控件中和颜色相关的属性主要有“颜色”(Color)和“标志”(Flags)两个。 “颜色”(Color)属性用来设置用来设置“颜色”对话框的初始颜色,同时它也能返回用户在对话框中选择的颜色。 “标志”(Flags)属性用来决定“颜色”对话框的样式。,(5)“字体”对话框 “字体”对话框用来指定字体名称、大小、颜色和样式。要使用“字体”对话框,通常先设置“通用对话框”控件中与字体对话相关的属性,然后使用ShowFont方法来显示对话框。“ 和字体相关的属性主要有Color、FontBold、FontItalic、FontStrikethru、FontUnderline、FontName和FontSize。,在使用ShowFont方法之前,一定要把Flags属性设置为下述常数之一: cdlCFScreenFonts或1:屏幕字体 cdlCFPrinterFonts或2:打印机字体 cdlCFBoth或3:既可以是屏幕字体又可以是打印机字体,(6)“打印”对话框 “打印”对话框可以指定打印输出方式。可以指定被打印页的范围,打印质量,打印的份数等等。这个对话框还包含当前打印机的信息,并允许配置或重新安装缺省打印机。,“打印”对话框主要属性及其具体含义如下: 复制(Copies):决定打印的份数。 标志(Flags):如果把Flags设置为0,设置“打印”对话框中的“打印范围”。 起始页(FromPage)和终止页(ToPage):用来设置从第几页打印到第几页。 最小(Min)和最大(Max):分别用于设置打印的最小和最大页码数。 方向(Orientation):用来设定打印的方向(1表示纵向,2表示横向)。,(7)“帮助”对话框 “帮助”对话框可以用来制作应用程序的联机帮助。“帮助”对话框主要属性主要有: 帮助上下文(HelpContext): 返回或设置帮助文件中的主题的上下文ID,指定要显示的帮助主题。 帮助命令(HelpCommand):返回或设置联机帮助的类型。,帮助键(HelpKey):返回或设置帮助主题的关键字。 帮助文件(HelpFile):返回或设置帮助文件的路径及其文件名称。,3、自定义对话框 自定义对话框实际是一个用户自行设计的,用来完成用户和系统对话的窗体。 创建自定义对话框首先要创建一个窗体,然后在窗体上添加必要的控件,完成对话框的各种功能。对话框的BorderStyle属性通常设置为3FixedDialog。 显示对话框使用Show方法。对话框分成两种类型,即模式的和无模式的。,模式对话框是在继续操作应用程序的其他部分之前必须被关闭的。而无模式对话框允许在对话框与其他窗体之间转移焦点而不必关闭对话框。 Show方法的两个可选参数分别是style和ownerform。如果要显示的对话框是模式的,则Style取值为1或vbModoal;如果要显示的对话框是无模式的,则Style取值为0或vbModoaless。Ownerform参数决定该对话框是作为哪一个窗体的子窗体的。,第6章 对话框的设计,6.1 知识要点 6.2 习题与解答 6.3 实训指导 6.4 测验题,6.2习题与解答,1、简述用Visual Basic创建对话框的几种方式。 答案: 用Visual Basic创建对话框有使用函数调用预定义对话框使用通用对话框自定义对话框三种常用方法。 2、试写出生成以下三个对话框所对应的代码。,图6-2,图6-1,图6-3,答案:(1)a = MsgBox(“程序出现严重错误!“, vbInformation + _ vbAbortRetryIgnore, “警告“) 或a = MsgBox(“程序出现严重错误!“, 66, “警告“),(2)b = MsgBox(“你好,欢迎使用Visual Basic!“ & Chr(13) & Chr(10) & _“想要退出吗?“, vbQuestion + vbYesNoCancel + vbDefaultButton2, “提示“) 或b = MsgBox(“你好,欢迎使用Visual Basic!“ & Chr(13) & Chr(10) & _“想要退出吗?“, 291, “提示“),(3)c = InputBox(“请输入你所在城市的电话区号号码:“, “输入“, “0419“) 3、简述“通用对话框”控件的使用方法,使用“通用对话框”控件可以显示哪些对话框,它们分别通过什么方法来实现。,答案:要使用“通用对话框(Common Dialog)”,必须先把该控件添加到工具箱中。具体方法为:从“工程”菜单中选“部件”命令;在“部件”对话框的“控件”选项卡中,查找“Microsoft Common Dialog Control 6.0”并将其选中,然后单击“确定”按钮。然后就可以象使用其他控件一样式样该控件了。,使用“通用对话框”控件可以显示“打开”对话框、“保存”对话框、“颜色”对话框、“字体”对话框、“打印”对话框和Windows帮助引擎对话框。它们分别通过ShowOpen、 ShowSave、 ShowColor、 ShowFont、 ShowPrinter 和ShowHelp方法来实现。,4、模式对话框和无模式对话框的区别是什么? 答案:模式对话框是在继续操作应用程序的其他部分之前必须被关闭的。而无模式对话框允许在对话框与其他窗体之间转移焦点而不必关闭对话框。当对话框正在工作时,可以在当前应用程序的其他地方继续工作。,5、为什么要使用自定义对话框? 答案:自定义对话框与使用函数或通过“通用对话框”控件创建的对话框相比,内容和功能都可以有更多的发挥余地。使用函数创建的对话框一般都很简单且功能单一,通常只是用来做简单的输入和提示。 Continue,通过“通用对话框”控件只能创建的标准的对话框。而自定义对话框则相对灵活且功能强大,通常会满足用户为应用程序的继续运行而提供数据的需要。,第6章 对话框的设计,6.1 知识要点 6.2 习题与解答 6.3 实训指导 6.4 测验题,6.3实训指导,6.3.1技能训练目的 掌握InputBox函数的使用方法 掌握MsgBox函数的使用方法 掌握“通用对话框”的使用方法 掌握“自定义对话框”的创建和使用方法,6.3.2技能训练内容 【实训6.1】设计程序,窗体见 图6-4。单击“输入”按钮,则通过输入对话框分别输入十个整数并显示在“输入数据”后面的文本框中。单击“排序”按钮,十个整数从小到大排序后显示在“排序后”后面的文本框中。单击“清除”按钮,两个文本框全部清控。单击“退出”,程序结束。,图6-4,提示: 在窗体上添加两个标签控件(Label1和Label2),它们的Caption属性分别是“输入数据:”和“排序后:”;再添加两个标签控件(Label3和Label4),它们的Caption属性均为空,BorderStyle属性均设为1;添加四个命令按钮(Command1 、Command2、 Command3和Command4),它们的Caption属性分别为“输入”、“排序”、“清除”和“退出”。,参考代码: Option Explicit Dim a(9) As Integer Private Sub Command1_Click() Dim i As Integer, s As String For i = 0 To 9 s = InputBox(“请输入一个整数“, “输入“) a(i) = Val(s) Label3.Caption = Label3.Caption + “ “ + s Next i End Sub Private Sub Command2_Click() Dim i As Integer, j As Integer, t As Integer,For i = 0 To 8 For j = i + 1 To 9 If a(j) a(i) Then t = a(i) a(i) = a(j) a(j) = t End If Next j Label4.Caption = Label4.Caption + “ “ + Str(a(i) Next i Label4.Caption = Label4.Caption + “ “ + Str(a(i) End Sub Private Sub Command3_Click() Label3.Caption = “ Label4.Caption = “ End Sub Private Sub Command4_Click() End End Sub,【实训6.2】在实训6.1中,如果程序只要求输入1100的整数,其他输入均看作错误。请实现输入异常时用消息框给出提示。如图6-5所示。,图6-5,提示:在“输入”按钮的的单击事件代码中加入数据合法性判断。 参考代码:,Private Sub Command1_Click() Dim i As Integer, s As String, ansinf As Integer For i = 0 To 9 s = InputBox(“请输入一个整数“, “输入“) Do Until Val(s) = Int(Val(s) And Val(s) = 1 And Val(s) = 100 ansinf = MsgBox(“输入数据不合法,请核对后重新输入!“, 49, “错误提示“) If ansinf = vbOK Then s = InputBox(“请输入一个整数“, “输入“) Else End End If Loop a(i) = Val(s) Label3.Caption = Label3.Caption + “ “ + s Next i End Sub,【实训6.3】设计一个验证密码的程序(如图6-6所示)。假定密码为“abc”,用户输入是否正确请用消息框来给予提示(如图6-7所示)。如果密码输入错误,提示是否重新输入(如图6-8所示),但只能最多进行三次重新输入,一旦密码输入次数超过三次,程序给出警告提示(如图6-9所示),并结束。,图6-6,图6-7,图6-8,图6-9,参考代码: Option Explicit Private Sub Command1_Click() Dim ansinf As Integer Static i As Integer If Text1.Text = “abc“ Then Form1.Hide ansinf = MsgBox(“密码正确,欢迎进入本程序!“, 64, “密码正确“) Else ansinf = MsgBox(“密码错误,是否重新输入?“, 36, “错误提示“) End If If ansinf = 6 Then Text1.Text = “ Text1.SetFocus ElseIf ansinf = 7 Then End End If,i = i + 1 If i = 3 Then ansinf = MsgBox(“你是非法用户,程序即将退出!“, 16, “严重错误“) End End If End Sub Private Sub Command2_Click() Text1.Text = “ End Sub Private Sub Command3_Click() End End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call Command1_Click End If End Sub,【实训6.4】设计程序。实现简单文本编辑器具有的“打开”、“保存”、“颜色设置”、“字体设置”和“打印”等功能。窗体如图6-10所示。 提示:窗体设计如图所示,其中包含一个通用对话框(CommonDialog1),一个文本框(Text1)和六个命令按钮(Command1 Command6)。 由于本实训内容与教材6.2节例题相似,此处仅提供“打开”功能的实现代码。,图6-10,参考代码: Private Sub Form_Load() CommonDialog1.CancelError = False End Sub Private Sub Command1_Click() CommonDialog1.ShowOpen Text1.Text = “ Open CommonDialog1.FileName For Input As #1 Do While Not EOF(1) Line Input #1, inputdata Text1.Text = Text1.Text + inputdata + Chr(13) + Chr(10) Loop Close #1 End Sub,第6章 对话框的设计,6.1 知识要点 6.2 习题与解答 6.3 实训指导 6.4 测验题,6.4测验题,6.4.1选择题 1Commondialog1为窗体上一通用对话框,与Commondialog1.Action=3作用相同的语句是 。 ACommondialog1.ShowColor BCommondialog1.ShowOpen CCommondialog1.ShowSave DCommondialog1.ShowPrinter 答案:A,2执行下列语句 a$=inputbox(“请输入一个整数”,”输入整数”,”123”) 单击确定按钮后,a$的值为 。 A字符串“输入整数” B整数123 C空字符串 D字符串“123” 答案:D,3通过通用对话框能打开“字体对话框”的方法是 。 ACommondialog1.ShowColor BCommondialog1.ShowFont CCommondialog1.ShowSave DCommondialog1.ShowOpen 答案:B 4下列代码中错误的是 。 Aa=MsgBox (“) BMsgBox “信息提示“, vbInformation + vbOKCancel Ca=MsgBox “信息提示“, vbInformation + vbOKCancel DMsgBox “ 答案:C,5下列为“打开”对话框设置过滤器属性的语句中正确的是 。 ACommonDialog1.Filter = “所有文件|(*.*)|文本文件|(*.txt)“ BCommonDialog1.Filter = “所有文件| (*.*)|文本文件| (*.txt)“ CCommonDialog1.Filter = “所有文件|*.*|文本文件|*.txt“ DCommonDialog1.Filter = “所有文件|*.*|文本文件|*.txt“ 答案:C,6.4.2填空题 1在窗体上有一命令按钮Button1,其单击事件代码如下: Private Sub Command1_Click() Do While z 8 x = InputBox(“x=“) x = Val(x) y = InputBox(“y=“) y = Val(y) z = InputBox(“z=“) z = Val(z) x = x + y + z Loop Print x End Sub 程序运行后,若依次输入1,2,3,6,7,8后,输出的结果是 (1) 。 答案:21,2在使用ShowFont方法之前,一定要先设置 (2) 属性。 答案:flags属性 3在用Show方法显示自定义对话框时,分别用Show方法后带 (3) 和 (4) 参数来指定窗体为模式对话框或非模式对话框。 答案:(3)VbModal或1 (4)VbModaless或0,6.4.3编程题 编写加法练习测试程序。窗体如图6-11所示,程序运行自动产生两个100以内的随机整数分别填入两个标签中,单击“计算”按钮,出现如图6-12所示的对话框,在对话框中输入运算结果。确认输入数据后,相继有提示计算正确或错误,“是否继续计算?”的对话框出现,分别如图6-13、6-14和6-15,如果选择继续,程序继续随机出题,选择“否”,则程序给出你答题情况统计并给出相应的分数,如图6-16。,图6-11,图6-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代理厂房出租合同样本
- 个人入股协合同标准文本
- 公租房ppp合同范例
- 云母购销合同样本
- 国家电网集中管理模式试题及答案
- 2025 临时租房合同
- 媒体影响力提升合同(2篇)
- 2025【工业类合同参考格式(3)】工业类小说
- 2025房地产开发的借款合同
- 2025至2030年中国卫生疾病控制信息管理系统市场调查研究报告
- 2024理疗馆合作协议书范本
- CHT 8023-2011 机载激光雷达数据处理技术规范(正式版)
- 2024年演出经纪人考试必背1000题附答案(黄金题型)
- 《人类起源的演化过程》阅读测试题及答案
- JB-T 8532-2023 脉冲喷吹类袋式除尘器
- 第11课《送东阳马生序》(课件)九年级语文下册
- (正式版)SHT 3045-2024 石油化工管式炉热效率设计计算方法
- 2024年中储粮集团招聘笔试参考题库附带答案详解
- 基于大概念的高中历史大单元教学
- (2024年)保安培训图文课件
- 《养老护理员》-课件:协助卧床老年人使用便器排便
评论
0/150
提交评论