VB程序设计对话框的设计_第1页
VB程序设计对话框的设计_第2页
VB程序设计对话框的设计_第3页
VB程序设计对话框的设计_第4页
VB程序设计对话框的设计_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

会计学1VB程序设计对话框的设计6.1知识要点1、预定义对话框预定义对话框是系统已经设计好的对话框,它们可以通过程序执行具体的函数来被显示。在VisualBasic6.0中,预定义对话框包含输入对话框和消息框。第1页/共70页(1)输入对话框创建输入对话框的标准函数是InputBox函数,该函数显示一个接收用户输入的对话框,对话框中显示提示文本,等待用户输入或按下按钮,并返回文本框的内容。InputBox函数的语法格式为:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])第2页/共70页其中:Prompt为必需的字符串表达式参数,提供显示在对话框中的提示文本。Title为可选字符串表达式参数,提供标题显示在对话框的标题栏中。Default为可选字符串表达式参数,提供输入框的缺省输入文本。Xpos和Ypos都是可选的数值表达式,成对出现,指出对话框左上角的屏幕坐标。InputBox函数返回文本框中输入的内容,为字符串类型。第3页/共70页(2)消息框创建消息框的标准函数是MsgBox函数,该函数在对话框中显示消息,等待用户按下按钮,并返回一个整数来表示用户按下了哪一个按钮。MsgBox函数的语法格式为:MsgtBox(prompt[,buttons][,title][,helpfile,context])其中:Prompt是必要的字符串表达式参数,作为显示在对话框中的消息。第4页/共70页Buttons是可选参数,该数值表达式是分别代表显示按钮形式、使用图标样式、缺省按钮样式和对话框模式的四个数值的和。Title是可选参数。该字符串表达式作为标题显示在消息框的标题栏中。MsgBox函数返回值为1~6之间的一个整数,表示用户按下了“确定”、“取消”、“终止”、“重试”、“忽略”或“是”按钮。第5页/共70页2、通用对话框(1)通用对话框的使用把“通用对话框(CommonDialog)”控件添加到工具箱中的方法为:①从“工程”菜单中选“部件”命令,或用鼠标右键单击工具箱,选其中“部件”命令,弹出“部件”对话框。第6页/共70页②在“部件”对话框的“控件”选项卡中,查找“MicrosoftCommonDialogControl6.0”并将其选中,然后单击“确定”按钮。“通用对话框”提供的六种对话框可以通过设置它的Action属性或调用对应的六种方法来打开。通用对话框的属性、方法和含义见表6-1。第7页/共70页表6-1通用对话框的属性、方法和作用

Action属性值方法所显示的对话框1ShowOpen“打开”对话框2ShowSave“保存”对话框3ShowColor“颜色”对话框4ShowFont“字体”对话框5ShowPrinter“打印”对话框6ShowHelpWindows帮助引擎第8页/共70页(2)“打开”对话框“打开”对话框的功能是指定文件的驱动器、目录、文件扩展名和文件名。使用“打开”对话框时,通常首先对其进行属性设置,各属性含义和设置方法如下:①对话框标题(DialogTitle属性):设置对话框的标题,缺省值为“打开”。②文件名称(FileName属性):设置“打开”对话框中“文件名”区中的初始文件名,同时也能返回用户在对话框中选中的文件名。第9页/共70页③初始化路径(InitDir属性):设置初始目录,同时也能返回用户选择的目录名。④过滤器(Filter属性):设置对话框中的文件列表中显示的文件类型。设置过滤器属性的格式为:description1|filter1|description2|filter2…其中,description是在“打开”对话框中的文件类型列表框中显示的字符串。第10页/共70页⑤标志(Flags属性):用来修改每个具体对话框的默认操作。⑥缺省扩展名(DefaultExt属性):设置在对话框中的缺省扩展名⑦文件最大长度(MaxFileSize属性):设置文件名的最大字节数。第11页/共70页⑧过滤器索引(FilterIndex属性):用索引值来指定对话框使用哪一个过滤器。⑨取消引发错误(CancelError属性):决定当用户单击对话框上的“取消”按钮时,是否会显示一个报错信息的消息框。注:CancelError属性的设置方法对其他几种对话框也同样适用。第12页/共70页(3)“保存”对话框“保存”对话框也是在Windows应用程序中经常用到的。用ShowSave方法显示对话框,它同样能指定文件的驱动器、目录、文件扩展名和文件名,其使用方法和“打开”对话框的使用方法基本相同。第13页/共70页(4)“颜色”对话框“颜色”对话框用来在调色板中选择颜色,或者是创建并选择自定义的颜色。要使用“颜色”对话框,通常先设置“通用对话框”控件中与颜色对话相关的属性,然后使用ShowColor方法显示对话框,使用Color属性获得所选择的颜色。第14页/共70页在“通用对话框”控件中和颜色相关的属性主要有“颜色”(Color)和“标志”(Flags)两个。“颜色”(Color)属性用来设置用来设置“颜色”对话框的初始颜色,同时它也能返回用户在对话框中选择的颜色。“标志”(Flags)属性用来决定“颜色”对话框的样式。第15页/共70页(5)“字体”对话框“字体”对话框用来指定字体名称、大小、颜色和样式。要使用“字体”对话框,通常先设置“通用对话框”控件中与字体对话相关的属性,然后使用ShowFont方法来显示对话框。“和字体相关的属性主要有Color、FontBold、FontItalic、FontStrikethru、FontUnderline、FontName和FontSize。第16页/共70页在使用ShowFont方法之前,一定要把Flags属性设置为下述常数之一:cdlCFScreenFonts或1:屏幕字体cdlCFPrinterFonts或2:打印机字体cdlCFBoth或3:既可以是屏幕字体又可以是打印机字体第17页/共70页(6)“打印”对话框“打印”对话框可以指定打印输出方式。可以指定被打印页的范围,打印质量,打印的份数等等。这个对话框还包含当前打印机的信息,并允许配置或重新安装缺省打印机。第18页/共70页“打印”对话框主要属性及其具体含义如下:①复制(Copies):决定打印的份数。②标志(Flags):如果把Flags设置为0,设置“打印”对话框中的“打印范围”。③起始页(FromPage)和终止页(ToPage):用来设置从第几页打印到第几页。④最小(Min)和最大(Max):分别用于设置打印的最小和最大页码数。⑤方向(Orientation):用来设定打印的方向(1表示纵向,2表示横向)。第19页/共70页(7)“帮助”对话框“帮助”对话框可以用来制作应用程序的联机帮助。“帮助”对话框主要属性主要有:①帮助上下文(HelpContext):返回或设置帮助文件中的主题的上下文ID,指定要显示的帮助主题。②帮助命令(HelpCommand):返回或设置联机帮助的类型。第20页/共70页③帮助键(HelpKey):返回或设置帮助主题的关键字。④帮助文件(HelpFile):返回或设置帮助文件的路径及其文件名称。第21页/共70页3、自定义对话框自定义对话框实际是一个用户自行设计的,用来完成用户和系统对话的窗体。创建自定义对话框首先要创建一个窗体,然后在窗体上添加必要的控件,完成对话框的各种功能。对话框的BorderStyle属性通常设置为3—FixedDialog。显示对话框使用Show方法。对话框分成两种类型,即模式的和无模式的。第22页/共70页模式对话框是在继续操作应用程序的其他部分之前必须被关闭的。而无模式对话框允许在对话框与其他窗体之间转移焦点而不必关闭对话框。

Show方法的两个可选参数分别是style和ownerform。如果要显示的对话框是模式的,则Style取值为1或vbModoal;如果要显示的对话框是无模式的,则Style取值为0或vbModoaless。Ownerform参数决定该对话框是作为哪一个窗体的子窗体的。第23页/共70页第6章对话框的设计6.1知识要点6.2习题与解答6.3实训指导6.4测验题第24页/共70页6.2习题与解答1、简述用VisualBasic创建对话框的几种方式。答案:用VisualBasic创建对话框有①使用函数调用预定义对话框②使用通用对话框③自定义对话框三种常用方法。2、试写出生成以下三个对话框所对应的代码。第25页/共70页图6-2第26页/共70页图6-1第27页/共70页图6-3第28页/共70页答案:(1)a=MsgBox("程序出现严重错误!",vbInformation+_vbAbortRetryIgnore,"警告")或a=MsgBox("程序出现严重错误!",66,"警告")第29页/共70页(2)b=MsgBox("你好,欢迎使用VisualBasic!"&Chr(13)&Chr(10)&_"想要退出吗?",vbQuestion+vbYesNoCancel+vbDefaultButton2,"提示")或b=MsgBox("你好,欢迎使用VisualBasic!"&Chr(13)&Chr(10)&_"想要退出吗?",291,"提示")第30页/共70页(3)c=InputBox("请输入你所在城市的电话区号号码:","输入","0419")3、简述“通用对话框”控件的使用方法,使用“通用对话框”控件可以显示哪些对话框,它们分别通过什么方法来实现。第31页/共70页答案:要使用“通用对话框(CommonDialog)”,必须先把该控件添加到工具箱中。具体方法为:①从“工程”菜单中选“部件”命令;②在“部件”对话框的“控件”选项卡中,查找“MicrosoftCommonDialogControl6.0”并将其选中,然后单击“确定”按钮。然后就可以象使用其他控件一样式样该控件了。第32页/共70页

使用“通用对话框”控件可以显示“打开”对话框、“保存”对话框、“颜色”对话框、“字体”对话框、“打印”对话框和Windows帮助引擎对话框。它们分别通过ShowOpen、ShowSave、ShowColor、ShowFont、ShowPrinter

和ShowHelp方法来实现。第33页/共70页4、模式对话框和无模式对话框的区别是什么?答案:模式对话框是在继续操作应用程序的其他部分之前必须被关闭的。而无模式对话框允许在对话框与其他窗体之间转移焦点而不必关闭对话框。当对话框正在工作时,可以在当前应用程序的其他地方继续工作。第34页/共70页5、为什么要使用自定义对话框?答案:自定义对话框与使用函数或通过“通用对话框”控件创建的对话框相比,内容和功能都可以有更多的发挥余地。使用函数创建的对话框一般都很简单且功能单一,通常只是用来做简单的输入和提示。

Continue…第35页/共70页通过“通用对话框”控件只能创建的标准的对话框。而自定义对话框则相对灵活且功能强大,通常会满足用户为应用程序的继续运行而提供数据的需要。第36页/共70页第6章对话框的设计6.1知识要点6.2习题与解答6.3实训指导6.4测验题第37页/共70页6.3实训指导6.3.1技能训练目的☆掌握InputBox函数的使用方法☆掌握MsgBox函数的使用方法☆掌握“通用对话框”的使用方法☆掌握“自定义对话框”的创建和使用方法第38页/共70页6.3.2技能训练内容【实训6.1】设计程序,窗体见图6-4。单击“输入”按钮,则通过输入对话框分别输入十个整数并显示在“输入数据”后面的文本框中。单击“排序”按钮,十个整数从小到大排序后显示在“排序后”后面的文本框中。单击“清除”按钮,两个文本框全部清控。单击“退出”,程序结束。第39页/共70页图6-4第40页/共70页提示:在窗体上添加两个标签控件(Label1和Label2),它们的Caption属性分别是“输入数据:”和“排序后:”;再添加两个标签控件(Label3和Label4),它们的Caption属性均为空,BorderStyle属性均设为1;添加四个命令按钮(Command1、Command2、Command3和Command4),它们的Caption属性分别为“输入”、“排序”、“清除”和“退出”。第41页/共70页参考代码:OptionExplicitDima(9)AsIntegerPrivateSubCommand1_Click()DimiAsInteger,sAsStringFori=0To9s=InputBox("请输入一个整数","输入")a(i)=Val(s)Label3.Caption=Label3.Caption+""+sNextiEndSubPrivateSubCommand2_Click()DimiAsInteger,jAsInteger,tAsInteger第42页/共70页

Fori=0To8Forj=i+1To9Ifa(j)<a(i)Thent=a(i)a(i)=a(j)a(j)=tEndIfNextjLabel4.Caption=Label4.Caption+""+Str(a(i))NextiLabel4.Caption=Label4.Caption+""+Str(a(i))EndSubPrivateSubCommand3_Click()Label3.Caption=""Label4.Caption=""EndSubPrivateSubCommand4_Click()EndEndSub第43页/共70页【实训6.2】在实训6.1中,如果程序只要求输入1~100的整数,其他输入均看作错误。请实现输入异常时用消息框给出提示。如图6-5所示。第44页/共70页图6-5第45页/共70页提示:在“输入”按钮的的单击事件代码中加入数据合法性判断。参考代码:第46页/共70页PrivateSubCommand1_Click()DimiAsInteger,sAsString,ansinfAsIntegerFori=0To9s=InputBox("请输入一个整数","输入")DoUntilVal(s)=Int(Val(s))AndVal(s)>=1AndVal(s)<=100ansinf=MsgBox("输入数据不合法,请核对后重新输入!",49,"错误提示")Ifansinf=vbOKThens=InputBox("请输入一个整数","输入")ElseEndEndIfLoopa(i)=Val(s)Label3.Caption=Label3.Caption+""+sNextiEndSub第47页/共70页【实训6.3】设计一个验证密码的程序(如图6-6所示)。假定密码为“abc”,用户输入是否正确请用消息框来给予提示(如图6-7所示)。如果密码输入错误,提示是否重新输入(如图6-8所示),但只能最多进行三次重新输入,一旦密码输入次数超过三次,程序给出警告提示(如图6-9所示),并结束。第48页/共70页图6-6图6-7第49页/共70页图6-8图6-9第50页/共70页参考代码:OptionExplicitPrivateSubCommand1_Click()DimansinfAsIntegerStaticiAsIntegerIfText1.Text="abc"ThenForm1.Hideansinf=MsgBox("密码正确,欢迎进入本程序!",64,"密码正确")Elseansinf=MsgBox("密码错误,是否重新输入?",36,"错误提示")EndIfIfansinf=6ThenText1.Text=""Text1.SetFocusElseIfansinf=7ThenEndEndIf第51页/共70页i=i+1Ifi=3Thenansinf=MsgBox("你是非法用户,程序即将退出!",16,"严重错误")EndEndIfEndSubPrivateSubCommand2_Click()Text1.Text=""EndSubPrivateSubCommand3_Click()EndEndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenCallCommand1_ClickEndIfEndSub第52页/共70页【实训6.4】设计程序。实现简单文本编辑器具有的“打开”、“保存”、“颜色设置”、“字体设置”和“打印”等功能。窗体如图6-10所示。提示:窗体设计如图所示,其中包含一个通用对话框(CommonDialog1),一个文本框(Text1)和六个命令按钮(Command1~Command6)。由于本实训内容与教材6.2节例题相似,此处仅提供“打开”功能的实现代码。第53页/共70页图6-10第54页/共70页参考代码:PrivateSubForm_Load()CommonDialog1.CancelError=FalseEndSubPrivateSubCommand1_Click()CommonDialog1.ShowOpenText1.Text=""OpenCommonDialog1.FileNameForInputAs#1DoWhileNotEOF(1)LineInput#1,inputdataText1.Text=Text1.Text+inputdata+Chr(13)+Chr(10)LoopClose#1EndSub第55页/共70页第6章对话框的设计6.1知识要点6.2习题与解答6.3实训指导6.4测验题第56页/共70页6.4测验题6.4.1选择题1.Commondialog1为窗体上一通用对话框,与Commondialog1.Action=3作用相同的语句是

A.Commondialog1.ShowColorB.Commondialog1.ShowOpenC.Commondialog1.ShowSaveD.Commondialog1.ShowPrinter答案:A第57页/共70页2.执行下列语句

a$=inputbox(“请输入一个整数”,”输入整数”,”123”)单击确定按钮后,a$的值为

A.字符串“输入整数”

B.整数123C.空字符串D.字符串“123”答案:D第58页/共70页3.通过通用对话框能打开“字体对话框”的方法是

。A.Commondialog1.ShowColorB.Commondialog1.ShowFontC.Commondialog1.ShowSaveD.Commondialog1.ShowOpen答案:B4.下列代码中错误的是

。A.a=MsgBox("")B.MsgBox"信息提示",vbInformation+vbOKCancelC.a=MsgBox"信息提示",vbInformation+vbOKCancelD.MsgBox"“答案:C第59页/共70页5.下列为“打开”对话框设置过滤器属性的语句中正确的是

。A.CommonDialog1.Filter="所有文件|(*.*)|文本文件|(*.txt)"B.CommonDialog1.Filter="所有文件||(*.*)|文本文件||(*.txt)"C.CommonDialog1.Filter="所有文件|*.*|文本文件|*.txt"D.CommonDialog1.Filter="所有文件||*.*|文本文件||*.txt“答案:C第60页/共70页6.4.2填空题1.在窗体上有一命令按钮Button1,其单击事件代码如下:

PrivateSubCommand1_Click()DoWhilez<>8x=InputBox("x=")x=Val(x)y=InputBox("y=")y=Val(y)z=InputBox("z=")z=Val(z)x=x+y+zLoopPrintxEndSub程序运行后,若依次输入1,2,3,6,7,8后,输出的结果是(1)。答案:21第61页/共70页2.在使用ShowFont方法之前,一定要先设置(2)属性。答案:flags属性3.在用Show方法显示自定义对话框时,分别用Show方法后带(3)和(4)参数来指定窗体为模式对话框或非模式对话框。答案:(3)VbModal或1(4)VbModaless或0第62页/共70页6.4.3编程题1.编写加法练习测试程序。窗体如图6-11所示,程序运行自动产生两个100以内的随机整数分别填入两个标签中,单击“计算”按钮,出现如图6-12所示的对话框,在对话框中输入运算结果。确认输入数据后,相继有提示计算正确或错误,“是否继续计算?”的对话框出现,分别如图6-13、6-14和6-15,如果选

温馨提示

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

评论

0/150

提交评论