《数据的输入与输出.pptx》由会员分享,可在线阅读,更多相关《数据的输入与输出.pptx(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3 3章章 数据的输入与输出数据的输入与输出 输入与输出是程序设计中的重要环节。没有输出操作的程序不会有什么实用价值,而没有输入的程序则缺乏灵活性。VB提供了多种手段使输入输出操作灵活、多样、方便和直观。本章介绍VB的输入、输出操作,以及与之有关的控件。第1页/共57页3.1 数据输出数据输出 VB的输出操作包括文本信息的输出和图形图像的输出,本章主要介绍文本信息的输出。3.1.1 Print3.1.1 Print方法方法 在早期版本的BASIC语言中,数据的输出主要通过Print语句来实现。在VB中Print是作为对象的方法来使用的。第2页/共57页1.使用Print方法 使用Print
2、方法可以在窗体上输出文本字符串或表达式的值,其语法格式为:对象名称.Print 表达式列表,|;其中,对象名称可以是窗体(Form)、图片框(PictureBox)或打印机(Printer)。如果省略“对象名称”,则在窗体上直接输出。表达式列表是一个或多个表达式,可以是数值表达式或字符串。对于数值表达式,将输出表达式的值;对于字符串,则照原样输出。如果省略“表达式列表”,则输出一个空行。第3页/共57页【例3-1】使用Print方法在窗体中直接输出字符串或数值表达式的值,如图3-1所示。图3-1 使用Print方法 第4页/共57页【例3-1】使用Print方法在窗体中直接输出字符串或数值表达
3、式的值,如图3-1所示。命令按钮Command1的Click事件代码:Private Sub Command1_Click()Print Print 2*3+4=;2*3+4 使用“;”分割符 Print 输出一个空行 Print 欢迎学习 Print,Visual 使用“,”分割符 Print,Baisc 使用两个“,”分割符 Print Print 欢迎学习,在行末使用“,”分割符 Print Visual;BaiscEnd Sub第5页/共57页2.与Print方法有关的函数 为了使数据按指定的位置输出,VB提供了几个与Print相配合的函数。(1)Tab函数 在Print方法中,可以使
4、用Tab函数来对输出进行定位。其格式为:Tab(n)其中n为数值表达式,其值为一整数。Tab函数把显示或打印位置移到由参数n指定的列数,从此列开始输出数据。要输出的内容放在Tab函数后面,并用分号隔开。例如:Print Tab(10);姓名;Tab(30);年龄第6页/共57页 (2)Spc函数 在Print方法中,还可以使用Spc函数来对输出进行定位。与Tab函数不同,Spc函数提供若干空格。其格式为:Spc(n)其中n为数值表达式,其值为一整数,表示在显示或打印时下一个表达式之前插入的空格数。Spc函数与输出项之间用分号隔开。例如:Print ABC;Spc(5);DEF 输出:ABC D
5、FE 当Print方法与不同大小的字体一起使用时,使用Spc函数打印的空格字符的宽度总是等于选用字体内以磅数为单位的所有字符的平均宽度。第7页/共57页【例3-2】在上例中使用Tab函数与Spc函数,只需改写命令按钮的Click事件代码:Private Sub Command1_Click()Print Print Tab(5);2*3+4=;2*3+4 Print Print Tab(6);欢迎学习;Tab(17);Visual Baisc Print Print Tab(7);欢迎学习;Spc(3);Visual;Spc(2);BaiscEnd Sub第8页/共57页3.Print方法的精
6、确定位 要精确地把文本输出到窗体、图片框或打印页上,可以使用位置属性(CurrentX和CurrentY)与文本的高度宽度方法(TextHeight和TextWidth)。CurrentX和CurrentY属性分别用来返回或设置当前输出位置的横坐标与纵坐标,TextHeight和TextWidth方法则分别可以返回一个字符串文本的高度值和宽度值。其单位均为Twip。TextHeight和TextWidth方法的格式为:对象名称.TextHeight(字符串)对象名称.TextWidth(字符串)其中,对象名称 可以是窗体、图片框或打印机对象。第9页/共57页【例3-3】下面程序把字符串文本“计
7、算机等级考试”输出到窗体的中间,如图3-3所示。只需编写窗体的Click事件代码:Private Sub Form_Click()Dim textW As Integer,textH As Integer Print Text$=计算机等级考试 textW=TextWidth(Text)/2 文本的宽度TextWidth(Text)textH=TextHeight(Text)/2 CurrentX=ScaleWidth/2-textW 窗体的宽度属性ScaleWidth CurrentY=ScaleHeight/2-textH 设置垂直位置 Print TextEnd Sub第10页/共57页
8、4.字形与字体 如果要控制所显示或打印文本的大小和外观,可以用FontName、FontSize、FontItalic、FontBold、FontStrikeThru、FontTransparent和FontUnderline属性。这些属性既可以在属性窗口设置(设置窗体的Font属性),也可以在代码中通过“赋值”语句进行设置。第11页/共57页图3-4 使用字体属性【例3-4】下面程序按指定尺寸、颜色和外观,把文本输出到窗体的中间(图3-4)。第12页/共57页命令按钮的Click事件代码:Private Sub Command1_Click()Dim a As String,textW As
9、 Integer,textH As Integer FontName=隶书 输出文本的字体 FontSize=60 输出字体的大小 ForeColor=QBColor(15)输出文本的前景色,即字体的颜色 BackColor=QBColor(8)输出文本的背景色,即窗体的颜色 text=你好 输出文本的内容 textW=TextWidth(text)/2 文本的宽度TextWidth(text)textH=TextHeight(text)-Command1.Height/2 CurrentX=ScaleWidth/2-textW 设置输出的水平位置 CurrentY=ScaleHeight/2
10、-textH 设置输出的垂直位置 Print text 输出文本End Sub 说明:属性ScaleWidth与ScaleHeight分别表示窗体内的宽度与高度。第13页/共57页5.清除方法CLS Cls方法可以清除Form或PictureBox中由Print方法和图形方法在运行时所生成的文本或图形,清除后的区域以背景色填充。设计时使用Picture属性设置的背景位图和放置的控件不受Cls影响。Cls方法的语法为:对象名称.Cls 其中“对象名称”可以是窗体(Form)或图片框(PictureBox),如果省略“对象名称”,则清除窗体上由Print方法和图形方法在运行时所生成的文本或图形。第
11、14页/共57页【例3-5】在上例中使用Cls方法清除窗体中由Print方法所生成的文本,如图3-5所示。图3-5 使用Cls方法 只需在上例中增加命令按钮Command2(清除),并且编写其Click事件代码:Private Sub Command2_Click()ClsEnd Sub 第15页/共57页6.输出文本到图片框 图片框(PictureBox)控件可以输出图形、图像和文本,还可以像窗体一样作容器包含其他的控件。不仅如此,图片框控件具有窗体的上述属性和方法,因此前面的例子完全适用于图片框。【例3-6】使用Print方法在图片框中输出字符串或数值表达式的值,如图3-6所示。图3-6
12、在图片框中输出字符串或数值表达式的值 第16页/共57页 编写窗体的Activate事件代码:Private Sub Form_Activate()Dim a As String,textW As Integer,textH As Integer Picture1.FontName=隶书 Picture1.FontSize=40 Picture1.ForeColor=QBColor(15)Picture1.BackColor=QBColor(8)a=你好 textW=Picture1.TextWidth(a)/2 textH=Picture1.TextHeight(a)/2 Picture1.
13、CurrentX=Picture1.Width/2-textW Picture1.CurrentY=Picture1.Height/2-textH Picture1.Print aEnd Sub第17页/共57页编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()Picture1.FontName=宋体 Picture1.FontSize=11 Picture1.ForeColor=QBColor(0)Picture1.BackColor=QBColor(15)Picture1.Cls Picture1.Print Picture1.Pri
14、nt Tab(2);2*3+4=;2*3+4 Picture1.Print Picture1.Print Tab(3);欢迎学习;Tab(17);Visual Baisc Picture1.Print Picture1.Print Tab(4);欢迎学习;Spc(3);Visual;Spc(2);BaiscEnd Sub第18页/共57页编写命令按钮Command2的Click事件代码:Private Sub Command2_Click()Picture1.ClsEnd Sub 第19页/共57页3.1.2 3.1.2 信息框函数信息框函数MsgBoxMsgBox MsgBox函数在对话框中
15、显示信息,等待用户单击按钮,并返回一个整数以标明用户单击了哪个按钮。其语法格式为:变量=MsgBox(信息内容,对话框类型,对话框标题)其中,信息内容指定在对话框中出现的文本,在信息内容中使用硬回车符(CHR(13))可以使文本换行。对话框的高度和宽度随着信息内容的增加而增加,最多可有1024个字符。第20页/共57页 对话框类型指定对话框中出现的按钮和图标,一般有三个参数。其取值和含义见表3-3、表3-4、表3-5。表表3-3 参数参数1出现按钮出现按钮值常量说明0vbOKOnly确定按钮1vbOKCancel确定和取消按钮2vbAbortRetryIgnore终止、重试和忽略按钮3vbYe
16、sNoCancel是、否和取消按钮4vbYesNo是和否按钮5vbRetryCancel重试和取消按钮第21页/共57页表表3-4 参数参数2图标类型图标类型值常量说明16vbCritical停止图标32vbQuestion问号(?)图标48vbExclamation感叹号(!)图标64vbInformation信息图标第22页/共57页表表3-5 参数参数3默认按钮默认按钮值常量说明0 vbDefaultButton1指定默认按钮为第一按钮256vbDefaultButton2指定默认按钮为第二按钮512vbDefaultButton3指定默认按钮为第三按钮 上述三种参数值可以相加以达到所需
17、要的样式。3)对话框标题指定对话框的标题。下述代码将显示如图3-8所示的对话框:msg=MsgBox(请确认输入的数据是否正确!,3+48+0,数据检查)图3-8 信息对话框第23页/共57页 4)Msgbox()返回的值指明了在对话框中选择哪一个按钮,见表3-6。表表3-6 函数的返回值函数的返回值返回值常量按钮1vbOK确定按钮2vbCancel取消按钮3vbAbort终止按钮4vbRetry重试按钮5vbIgnore忽略按钮6vbYes是7vbNo否 5)代码中的值可以是数值,也可以是数值常量。6)如果省略了某些可选项,必须加入相应的逗号分隔符。第24页/共57页 7)若不需要返回值,则
18、可以使用MsgBox的命令形式:MsgBox 信息内容,对话框类型,对话框标题 在程序运行的过程中,有时需要显示一些简单的信息如警告或错误等,此时可以利用“信息对话框”来显示这些内容。当用户接收到信息后,可以单击按钮来关闭对话框,并返回单击的按钮值。第25页/共57页3.1.3 3.1.3 使用标签控件使用标签控件 Label控件显示的文本用户不能直接修改。有些没有自己的标题(Caption)属性的控件(如TextBox)可以用Label标识。第26页/共57页1.标签的属性 在标签中显示的文本是由Caption属性控制的,该属性可以在设计时通过“属性”窗口设置或在运行时用代码赋值。标签具备控
19、件的一些共有属性,如Name、Height、Width、Top、Left、Enabled、Visible、Font等,同时也具有一些自身的特殊属性,它们分别是:1)Alignment属性:该属性用于设置标签文本的对齐方式。2)Autosize属性:该属性决定控件是否能自动调整大小以显示所有的文本内容。若属性设置为True,则自动调整标签的大小,以适应标签文本;若设置为False,则标签保持设计时所绘制的大小,不会自动调整大小。第27页/共57页 3)Backstyle属性:该属性用于设置标签的背景是透明还是不透明,其取值有0和1两种,分别是:0 透明,1 不透明。4)Borderstyle属性
20、:该属性用于设置标签的边框风格。其取值有0和1两种,分别是:0-None(标签无边框)1-Fixed Single(标签有单线边框)5)WordWrap属性:自动换行。为使标签控件能够自动调整以适应内容多少,必须将AutoSize属性设置为True可水平扩充以适应Caption属性内容。为使Caption属性的内容自动换行并垂直扩充,则要将WordWrap属性设置为True。第28页/共57页2.标签的事件与方法 虽然标签能响应绝大多数的事件,但在实际编程中不常使用。标签常用的方法是Move方法,以便用代码实现标签的移动和缩放。其语法格式为:对象名.Move left,top,width,he
21、ight 其中对象名.可以是窗体、或其他大多数的控件,如果省略对象名.,则表示带有焦点的窗体。3.标签的使用 标签可用于显示静态的、不允许用户修改的文本信息。由于标签可很方便地进行输出定位,设置文本字体及颜色等,故比Print方法要灵活方便得多,是Visual Basic中显示文本信息的主要控件。利用标签透明的特点,还可用来设计动态文字。第29页/共57页【例3-7】有框和无框的标签,可在运行时改变标签的尺寸和内容,如图3-9所示。图3-9 有框和无框的标签 编写命令按钮Command1的单击(Click)事件代码:Private Sub Command1_Click()Label1.Capt
22、ion=运行时改变标签的标题 Label2.Caption=对于一个较长的或在运行时可能变化的标题,&_ 标签控件提供了两种属性:AutoSize和WordWrap来改变&_ 控件尺寸以适应较长或较短的标题。End Sub 第30页/共57页【例3-8】利用标签制作阴影文字效果,如图3-11所示。单击“效果1”按钮后文字的阴影效果如图3-12(左)所示。单击“效果2”按钮后文字阴影的间距加大,如图3-12(右)所示。图3-11 阴影文字效果 第31页/共57页 编写Command1的Click事件代码:Private Sub Command1_Click()Label1.Top=Label2.
23、Top+20 设置阴影较文字向下偏移20 Label1.Left=Label2.Left+20 设置阴影较文字向右偏移20End Sub 编写Command2的Click事件代码:Private Sub Command2_Click()Label1.Top=Label2.Top+40 设置阴影较文字向下偏移40 Label1.Left=Label2.Left+40 设置阴影较文字向右偏移40End Sub第32页/共57页3.2 数据输入数据输入 在VB中,允许用户输入文本信息的最直接的方法是使用文本框。另外,还可以通过输入框,来实现信息的交流。3.2.1 3.2.1 使用使用“文本框文本框”
24、控件控件 文本框(TextBox)是一种通用控件,可以由用户输入或显示文本。缺省时,文本框只能输入单行文本,并且输入的字符最多为2048个。若将控件的MultiLine属性设置为True,则可以输入多行文本,并且文本的内容可多达32KB。第33页/共57页1.文本框的属性 文本框的主要属性见表3-10。表表3-10 文本框的属性文本框的属性名称取值说明Text文本框中包含的文本内容。MultiLineTrue、False该属性值为True时可以接收多行文本。EnabledTrue、False决定控件是否可用。ScrollBars0、1、2、30-没有滚动条,1-水平,2-垂直,3-同时具有水平
25、及垂直。PassWordChar指定显示在文本框中的替代符,如一串“*”号等。主要用于口令的输入。MaxLength指定显示在文本框中的字符数,超出部分不接收,并同时发出嘟嘟声。VisibleTrue、False决定控件是否可见。LockedTrue、False决定控件是否可编辑。第34页/共57页【例3-9】输入球体的半径,然后计算并输出球体的体积和表面积,如图3-14所示。图3-14 计算球的体积和表面积 分析:设球的半径为r,球体积和球表面积分别为:v和f,依题义可得计算公式:、第35页/共57页 编写命令按钮Command1的Click事件代码:Private Sub Command1
26、_Click()Dim r As Single,v As Single,f As Single Const pi=3.14159 r=Val(Text1.Text)v=4/3*pi*r 3:f=4*pi*r 2 Text2.Text=v:Text3.Text=fEnd Sub 编写命令按钮Command2的Click事件代码:Private Sub Command2_Click()Unload MeEnd Sub 说明:代码r=Val(Text1.Text)中使用了转换函数Val()将文本框中的内容转换为数值型数据,以便处理。如果不转换,可能出现数据类型不匹配的情况。第36页/共57页2.文本
27、框的事件 文本框可以接受许多事件,其中最常用的是Change(改变)事件和GotFocus(得到焦点)事件。Change事件当用户改变正文或通过代码改变Text属性的设置时发生;而当控件接收焦点时,会引发GotFocus事件,当控件失去焦点时,会引发LostFocus(失去焦点)事件。第37页/共57页【例3-10】单位发工资,设某职工应发工资x元,试求各种票额钞票总张数最少的付款方案。分析:可以从最大的票额(100元)开始,算出所需的张数,然后在剩下的部分算出较小票额的张数,直到最小票额(1元)。图3-15 求各种票额的付款方案第38页/共57页 编写命令按钮Command1的Click事件
28、代码:Private Sub Command1_Click()x=Val(Text1.Text)x为实发工资数 y=x 100:Text2.Text=y 求百元票张数并显示 x=x-100*y 求剩余款项 y=x 50:Text3.Text=y 求五十元票张数并显示 x=x-50*y 求剩余款项 y=x 10:Text4.Text=y 求十元票张数并显示 x=x-10*y 求剩余款项 y=x 5 :Text5.Text=y 求五元票张数并显示 x=x-5*y 求剩余款项 y=x 2:Text6.Text=y 求二元票张数并显示 x=x-2*y:Text7.Text=x 求一元票张数并显示End
29、 Sub第39页/共57页编写文本框Text1的Change事件代码:Private Sub Text1_Change()Text2.Text=Text3.Text=Text4.Text=Text5.Text=Text6.Text=Text7.Text=End Sub 说明:当在输入框中输入工资数的时候,Change事件发生,此时将清除其他各文本框中的内容。第40页/共57页3.使用焦点 焦点(Focus)就是光标,当对象具有“焦点”时才能响应用户的输入,因此也是对象接收用户鼠标单击或键盘输入的能力。在Windows环境中,在同一时间只有一个窗口、窗体或控件具有这种能力。具有焦点的对象通常会以
30、突出显示标题或标题栏来表示。当文本框具有焦点时,用户输入的数据才会出现在文本框中。仅当控件的Visible和Enabled属性被设置为真(True)时,控件才能接收焦点。某些控件不具有焦点,如标签、框架、计时器等。当控件接收焦点时,会引发GotFocus事件,当控件失去焦点时,会引发LostFocus事件。第41页/共57页 可以用SetFocus方法在代码中设置焦点。如在例3-10中,编写窗体的Activate事件代码,其中调用SetFocus方法,使得程序开始时光标(焦点)位于输入框Text1中:Private Sub Form_Activate()Text1.SetFocusEnd Su
31、b 另外,在“计算”按钮的Click事件代码中调用SetFocus方法,可以使光标重新回到输入框Text1。在程序运行的时候,可以按下列方法之一改变焦点:用鼠标单击对象。1)按Tab键或Shift+Tab在当前窗体的各对象之间巡回移动焦点。2)按热键选择对象。第42页/共57页3.2.2 3.2.2 输入框函数输入框函数InputBoxInputBox InputBox函数显示一个能接受用户输入的对话框,并返回用户在对话框中输入的信息。其语法格式为:变量=InputBox(信息内容,对话框标题,默认内容)说明:1)信息内容指定在对话框中出现的文本。在信息内容中使用硬回车符(CHR(13))可以
32、使文本换行。对话框的高度和宽度随着信息内容而增加,最多可有1024个字符。2)对话框标题指定对话框的标题。第43页/共57页3.2.2 3.2.2 输入框函数输入框函数InputBoxInputBox InputBox函数显示一个能接受用户输入的对话框,并返回用户在对话框中输入的信息。其语法格式为:变量=InputBox(信息内容,对话框标题,默认内容)说明:3)默认内容可以指定输入框的文本框中显示的默认文本。如果用户单击“确定”按钮,文本框中的文本(字符串)将返回到变量中,若用户单击“取消”按钮,返回的将是一个零长度的字符串。注意:如果省略了某些可选项,必须加入相应的逗号分隔符。4)Inpu
33、tBox函数返回包含文本框内容的字符串(String类型)。第44页/共57页【例3-11】华氏温度和摄氏温度相互转换的程序。输入一个华氏温度可以得到相应的摄氏温度,而输入一个摄氏温度则可以得到相应的华氏温度,如图3-16所示。利用输入框输入温度(如图3-17所示)。图3-16 温度的转换 图3-17 输入温度值 分析:设C为摄氏温度,F为华氏温度,则有:因此可以得到:第45页/共57页 编写“摄氏转华氏”命令按钮Command1的Click事件代码:Private Sub Command1_Click()c=Val(InputBox(请输入摄氏温度值:,摄氏转华氏,0)f=32+9*c/5
34、Label1.Caption=摄氏&c&度=华氏&Format(f,#.#)&度End Sub 编写“华氏转摄氏”命令按钮Command2的Click事件代码:Private Sub Command2_Click()f=Val(InputBox(请输入华氏温度值:,华氏转摄氏,0)c=5*(f-32)/9 Label1.Caption=华氏&f&度=摄氏&Format(c,#.#)&度End Sub第46页/共57页3.3 打印机输出打印机输出 在基于Windows的应用程序操作中,打印是最复杂的任务之一。VB应用程序的打印输出有两种方式:直接输出与窗体输出。所谓直接输出,就是将输出内容直接送
35、往打印机。而窗体输出则是先将内容输出在窗体中,然后将窗体上所显示的内容通过打印机输出。3.3.1 3.3.1 直接输出直接输出 使用Printer对象的Print方法,可以直接输出。与窗体或图片框一样,Printer对象是一个与设备无关的图片空间,支持用Print、PSet、Line、PaintPicture和Circle方法来创建文本和图形。窗体或图片框中几乎所有与文本和图形有关的属性、方法,Printer对象都可以使用。第47页/共57页【例3-12】下述代码将在打印机中直接打印出信息:Private Sub Form_Click()Printer.FontName=system Prin
36、ter.FontSize=24 Printer.FontItalic=True Printer.FontUnderline=True Printer.Print 计算机等级考试 Printer.Print Visual Basic 语言 Printer.EndDocEnd Sub 上述过程中的属性、方法在前面大都已作介绍,只是加上了对象名Printer。因此属性的设置针对打印机,而Print方法中的字符串也是送往打印机的。代码中的EndDoc方法以及其他Printer对象特有的属性和方法介绍如下。第48页/共57页1.Printer对象的属性 1)刻度(Scale)属性,见表3-13。表表3-
37、13 刻度属性刻度属性 名称说明ScaleMode该值表示对象坐标的度量单位。ScaleLeft和ScaleTop分别定义打印页左上角的x坐标和y坐标。通过改变ScaleLeft和ScaleTop的值,可改变打印页的左边距和上边距。ScaleWidth和ScaleHeight分别定义打印页的宽度和高度第49页/共57页1.Printer对象的属性 2)定位属性:就像为窗体和图形框设置属性一样,可为Printer对象设置CurrentX和CurrentY属性。这两个属性决定Printer对象当前页中的输出位置。3)Copies属性:返回或设置需要打印的份数。在设计时不可用。4)Duplex属性:
38、返回或设置一个值,以决定是否要双面打印(若打印机支持该功能)。在设计时不可用。5)Page属性:返回当前页号。VB保持一个已打印页数的计数器,它从应用程序开始或从在Printer对象上上次使用EndDoc语句起计数。第50页/共57页 6)PaperSize属性:返回或设置一个值,该值指出当前打印机的纸张大小。在设计时是不可用。7)PrintQuality属性:返回或设置一个值,该值指示打印机的分辨率。设计时不可用。8)Zoom属性:该属性定义按原来的百分之多少输出。默认值为100,指定输出将按实际尺寸的百分之百来打印。可利用Zoom属性使打印页比实际纸页大一些或小一些。例如,将Zoom属性设
39、置为50,可使打印页看起来只是实际打印纸页长和宽的一半。也可用TextHeight和TextWidt方法在Printer对象中定位文本。第51页/共57页2.Printer对象的方法 1)EndDoc方法:用于终止发送给Printer对象的打印操作,将文档释放到打印设备或后台打印程序。2)KillDoc方法:用于立即终止当前打印作业。3)NewPage方法:用以结束Printer对象中的当前页并前进到下一页。说明:调用NewPage时,它将Printer对象的Page属性加1。第52页/共57页3.3.2 3.3.2 窗体输出窗体输出 使用窗体的PrintForm方法可以将窗体中的所有信息传送
40、到打印机。要用PrintForm方法打印应用程序中的信息,需先将该信息显示在窗体中,然后再用PrintForm打印窗体。语法如下:窗体名.PrintForm 若省略窗体名称,则Visual Basic打印当前窗体。PrintForm打印窗体的全部内容,即使窗体的某部分在屏幕上见不到。打印结束后,PrintForm调用EndDoc方法清空打印机。第53页/共57页3.4 使用框架控件使用框架控件 如同图片框一样,框架(Frame)控件是一种容器控件,在框架控件内部的控件可以随控件一起移动,并且受到框架控件某些属性(Visible、Enabled)的控制。在多数情况下只需使用框架控件将其他控件分成
41、可标识的控件组,而不必响应框架控件的事件。需要修改的可能是框架控件的Name、Caption或Font属性。使用Frame控件将其他控件分组时,应该首先绘制Frame控件,然后激活Frame控件,再绘制其中的控件,这样才能使框架及其上的控件一起移动。如果要用框架将现有的控件分组,则可先选定所有控件,将它们剪切到剪贴板,然后选定Frame控件并将剪贴板上的控件粘贴到Frame控件上。第54页/共57页图3-19 利用“框架”修饰窗体【例3-14】利用“框架”修饰例3-10中的窗体,如图3-19所示。下面在例3-10的基础上修改原窗体,首先将欲放入框架中的控件多重选定(图3-20左),按Ctrl+X组合键或常用工具栏中的“剪切”按钮,将其剪切到剪贴板中。然后在窗体中画出框架控件,选中后(图3-20中),按Ctrl+V组合键或常用工具栏中的“粘贴”按钮,将原有控件移回“框架”中,调整其位置(图3-20右),并将“框架”的Caption属性设为空。第55页/共57页 也可以先在空白窗体中画出框架控件后,逐一添加其他控件,但要注意,每次添加都要首先选中框架。说明:框架控件除了能够修饰窗体外,还有一个重要的功能,就是用来对选项按钮进行分组,参见4.6。第56页/共57页感谢您的观看。第57页/共57页