版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章
VisualBasic常用标准控件文本控件图形控件按钮控件直线和形状复选框和单选按钮列表框和组合框控件框
架滚动条计时器控件6.1文本控件在前面各章节的学习中,我们做的一些VB的应用程序用到的与文本有关的控件有两类:标签和文本框。对于这两个控件我们已经有了简单的了解,本节将对这两个控件的属性、事件和方法作系统介绍。在VB的工具箱中,标签控件和文本框控件如下图所示,标签的默认名称(Name)和标题(Caption)为Labelx(x为1,2,3……);文本框的默认名称(Name)和文本(Text)属性为Textx(x为1,2,3……)。标签和文本框图标6.1.1标签(Label)控件标签中可以显示文本信息,但是不能接收用户的输入,因此标签通常用于以下场合:输出文字而不希望用户改变其中内容的情况;用于显示提示内容;用作命令选项,代替命令按钮,来引发相应的事件子程序。1.标签的常用属性标签的部分属性和窗体及其他控件的某些属性相同,包括:FontBold、FontItalic、FontName、FontSize、FontUnderline、Height、Width、Top、Left、Name、Visible。其中,标签独有属性的说明如下。(1)Caption该属性用来设置显示在标签上的文本。(2)Alignment设置标签中显示的文本的对齐方式,属性值可以为0、1或2,其作用如下:0——LeftJustify从标签的左边开始显示标题(默认);1——RightJustify文字右对齐。2——Center标题居中显示。(3)AutoSize该属性用来设置控件是否能够自动调整大小,显示所有的文本内容。当属性值为“True”时,标签能够根据文本内容的多少自动调整大小;当属性值为“False”时,标签大小不会发生改变。默认的属性值为“False”。(4)BackColor设置标签的背景颜色。注意:只有当Backstyle的属性值为“1”时,Backcolor属性设置的背景颜色才有效。(5)BackStyle该属性可以取两个值,即“0”和“1”。当值为“1”时,标签将覆盖背景;当值为“0”时,标签是透明的。默认值为“1”。该属性可以在属性窗口中设置,也可以通过程序代码设置,其格式为:对象.BackStyle=[0或1],这里的“对象”可以是标签、OLE控件和形状控件。(6)BorderStyle该属性用来设置标题的边框,可以取两种值,即“0”或“1”。该属性的默认值是“0”,标签无边框;如果需要为标签加上边框,则应该将该属性值改变为“1”。(7)Enabled该属性返回或设置一个值,用来确定一个窗体或控件是否响应用户产生的事件(即该对象是否可用)。可以通过属性窗口或程序代码设置,格式如下:这里的对象可以是窗体或控件,Enabled的属性值是Boolean类型。如果属性为“true”,允许响应用户生成事件;如果属性为“false”,则不允许响应用户生成事件。(8)WordWrap如果在AutoSize属性被设置为True,那么当我们将WordWrap属性设置为True,则标签将在垂直方向改变大小,与标题文本相适应。水平方向的大小与原来所画标签相同。对象.Enabled[=Boolean]2.标签可以响应的事件标签可以响应的事件很多,常用的是Click事件和DblClick事件。下面我们通过例6.1学习使用标签的基本方法。例6.1
设计一个程序,当窗体被加载时标签显示“欢迎进入VB系统!”;当用鼠标单击该标签时,由标签输出“祝您成功!”;当用鼠标双击标签结束程序的运行。分析:在这个例子中用到的对象不多,仅有两个:窗体和标签,表6-1列出了各对象的属性设置值。编写程序代码:(1)窗体被加载时标签显示“欢迎进入VB系统!”PrivateSubForm_Load()Label1.Caption="欢迎您进入VB系统!"EndSub对象属性设置值Form1Caption标签使用练习Label1Caption空fontsize12程序中的对象及属性值(2)当用鼠标单击该标签时,由标签输出“祝您成功!”(3)鼠标双击标签结束程序的运行PrivateSubLabel1_Click()Label1.Caption="祝您成功!"EndSubPrivateSubLabel1_DblClick()EndEndSub程序运行后,显示左图所示窗体。用鼠标在标签上单击,显示右图所示的窗体。用鼠标在标签上双击,应用程序结束。
程序运行结果
单击标签所示的窗体6.1.2文本框(TextBox)控件文本框控件即可以显示文本,又可以输入文本,在设计阶段或运行期间可以在文本框区域中显示、输入和编辑文本,功能相当于一个简单的文本编辑器。文本框通常用于输入输出数字和文本信息。也可以作为文本处理的窗口。与LabelBox(标签)的主要区别在于:在程序执行中标签只可输出,而TextBox(文本框)在程序执行时即可输出信息,又可以让用户修改编辑其中的文本内容。1.文本框的常用属性前面介绍的一些属性可以用于文本框,这些属性包括FontBold、FontItalic、FontName、FontSize、FontUnderline、Height、Width、Top、Left、Name、Visible、BorderStyle、Enabled。此外文本框还拥有以下属性:(1)Text设置输入输出的字符。该属性是文本框对象的主要属性,文本框中显示的内容就是由该属性设置。Text属性的设置可以在属性窗口中操作,当然也可以通过编写代码实现,例如:将在文本框Text1中显示“VB程序设计”。Text1.Text="VB程序设计"(2)MaxLength返回或设置文本框中可输入的字符的最大数。如果该属性被设置为“0”,则在文本框中输入的字符数不能超过32K(多行文本),该属性的默认值为0。(3)MultiLine该属性用来设置文本框中是否可以显示多行文本。如果把该属性设置为“False”,则在文本框内只能输入单行文本;当MultiLine属性被设置为“True”时,可以使用多行文本。该属性的默认值是“False”。(4)PasswordChar该属性决定是否在文本框中显示用户键入字符。当我们想对输入的数据进行保密时,我们可以使用这个属性,将该属性的值设置为一个字符,那么用户由键盘键入的任何字符都将被我们在PasswordChar属性中设置的那个字符所覆盖,从而达到数据保密的效果。不过文本框中实际输入的内容还是原来的内容,用这一特性可以设置口令(即验证密码)。(5)ScrollBars该属性用来设置文本框是否有垂直和水平滚动条。该属性可以设置的值有三个,其含义分别为:0——None文本框中没有滚动条;1——Horizontal只有水平滚动条;2——Vertical只有垂直滚动条;3——Both同时具有水平和垂直滚动条。下面要介绍的三个属性是一组,都是对文本框中的选择文本进行设置的属性。这三个属性的设置只有在运行期间才能进行,也就是说,这三个属性的值只能通过编写代码来进行设置。(6)SelLength该属性返回当前选中的字符数。当在文本框中选择文本时,该属性会随着选择字符的多少而改变;也可以在程序代码中把该属性设置为一个整数值,由程序来改变选择。如果SelLength属性值为“0”,表示未选中任何字符。(7)SelStart设置选中文本的起始位置。如为“0”表示选择的开始位置在第一个字符之前,如为“1”表示选择的开始位置在第二个字符之前,依此类推。(8)SelText该属性含有当前选择的文本字符串。如没有选择文本,则该属性含有一个空字符串;如果在程序中设置SelText属性,则用该值代替文本框中选中的文本。例如,假如文本框中有这样一行字符:
中国北京现在我们选择“北京”这两个字符,则执行语句后,文本框中的文本就会变为:
中国上海市在这种情况下,SelLength的值将会随之发生改变,SelStart的值不会受到影响。(9)Locked该属性决定文本框中显示的内容能否被编辑。当设置值为“False”(默认值)时,可以编辑文本框中的文本;当设置值为“True”时不能编辑。Text1.SelText="上海市"2.文本框的事件文本框支持的事件主要有Click、DblClick、Change、GotFocus、LostFocus等。Click、DblClick事件我们在前面已经用过很多,在这里就不再赘述了,下面我们介绍Change、GotFocus、LostFocus这三种文本框事件。(1)Change当文本框中显示的内容发生改变时,就会引发Change事件。例6.2
编写程序使用change事件。在这个程序中,我们使用三个对象分别是窗体和两个文本框,具体的对象及属性设置值如下表所示。对象属性设置值Form1CaptionChange事件Text1Text""Text2Text""对象的属性值设置程序代码如下:当程序运行后,在Text1中输入英文字符串时,就会在Text2中得到大写的字符串。比如在程序运行后,在Text1中输入英文字符串“visualbasic6.0”后,窗体显示如下图所示。PrivateSubText1_Change()Text2.Text=UCase(Text1.Text)EndSubchange事件的运行结果(2)GotFocus当文本框中有输入焦点,即文本框控件是当前的活动控件,就会引发GotFocus事件。文本框只有被激活而且其Visible属性和Enabled属性均为“True”时才能接收到焦点。(3)LostFocus当文本框控件失去焦点,即用户由键盘键入的字符不能显示在文本框中的时候,就会引发LostFocus事件。下面我们通过例6.3来测试一下GotFocus和LostFocus事件例6.3
编写程序测试GotFocus和LostFocus事件。在这个测试程序中,我们使用三个对象分别是:窗体、命令按钮和文本框。这些对象的属性的初始值如下表所示。对象属性设置值Form1CaptionGotfocus和lostfocusCommand1Caption失去焦点Text1Text对象的属性值设置编写代码如下:在这个程序里面编写了两个事件过程分别是Text1_GotFocus()和Text1_LostFocus(),当文本框接收到焦点就会执行Text1_GotFocus()中的代码;当文本框失去焦点就会执行Text1_LostFocus()中的代码。PrivateSubText1_GotFocus()Text1.FontSize=18Text1.ForeColor=RGB(255,0,0)Text1.Text="得到焦点"EndSubPrivateSubText1_LostFocus()Text1.FontSize=18Text1.ForeColor=RGB(0,0,255)Text1.Text="失去焦点"EndSub程序运行后,当文本框接收到焦点时,窗体显示如左图所示;当我们单击“失去焦点”按钮,此时文本框失去焦点,窗体显示如右图所示。
接收焦点
失去焦点3.文本框的方法文本框中较常用的方法是设置焦点—SetFocus,其格式如下:该方法可以把输入光标移动到指定的对象,在文本框中使用SetFocus方法时,可以把光标移动到指定的文本框中,那么此时用户键入的任何字符都会出现在该文本框中。需要注意的是,如果程序中需要用到文本控件时,应该根据文本控件应该具备的功能进行选择。一般的原则是:如果不需要用户输入文本内容,可以选择使用标签,否则只能使用文本框。[对象.]SetFocus6.2图形控件在VB中专门用来显示图片的控件有两个,一个是图片框,另一个是图像框。图片框默认的名称为Picturex(x为1,2,3……),图像框默认的名称Imagex(x为1,2,3……)。两种控件都能显示多种格式的图形文件,最主要的区别是:图像框不能作为父控件,而且不能通过Print方法接收文本。下面就来详细介绍图片框和图像框控件的主要属性、事件和方法。图片框和图像框控件6.2.1图片框控件图片框控件的类型名称是PictureBox,可以用来显示图形、图画或代替命令按钮,还可以作为其他控件的父控件。1.CurrentX和CurrentY属性用来设置下一个输出的水平坐标(CurrentX)和垂直坐标(CurrentY)。这两个属性只能在运行期间使用,格式如下:“对象”可以是窗体、图片框和打印机,x和y表示以twip为单位的坐标值。如省略[=x]和[=y],则显示当前的坐标值,如省略“对象”则表示是默认对象——当前窗体。[对象.]CurrentX[=x][对象.]CurrentY[=y]2.Picture属性用来设置要显示的图片,Picture属性的设置可以在设计阶段进行,也可以在程序运行过程中实现(即通过编写代码实现)。图片框中可以显示的图片类型包括以下几种:(1)位图文件,扩展文件名为.bmp或.dib。(2)图标文件,扩展文件名为.ico或.cur。(3)图形文件,扩展文件名为.wmf或.emf。(4)JPEG文件,扩展文件名为.jpg。(5)GIF文件,扩展文件名为.gif此外,有关图形文件的两种装入方法,我们将在后面专门介绍。3.AutoSize属性自动调整大小,默认值为“False”,表示图片框的大小不变,值为“Ture”表示图片框大小能随图片的大小自动调整。图片框的常用事件是Click和DblClick,常用的方法有前面讲过Print方法和Cls方法,这里不再赘述。6.2.2图像框控件图象框的类型名称是ImageBox。和图片框相似,图像框可以用来显示图形、图像或代替命令按钮。这两个控件的最大区别在于图像框不能作为父控件,图片框适用动态环境,图像框适用于静态情况。下面介绍图像框的常用属性。(1)Picture属性用来存放图形文件,适用的图形文件与前面介绍的图片框相同。(2)Stretch属性伸缩属性,默认值为“False”,表示不可伸缩,即图形大小不变,但是图像框会改变大小以使图形充满整个图像框;当属性为“True”表示可以伸缩,即图形可以改变大小充满图象框,而图像框大小不变,所以可以用这个属性达到放大或缩小图片的功能。图像框的常用事件是Click,对象的单击事件可以引发相应的事件子程序。6.2.3装入图形文件装入图形文件的方法有两类,一个是在设计阶段装入图形文件,一个是在运行时装入图形文件。其中,在设计阶段装入图形文件有以下两种方法。1.通过设置Picture属性装入(1)在窗体上建立一个图片框(或图像框)。(2)单击图片框(或图像框),使其成为活动控件,在属性窗口找到Picture并单击,其右侧会出现一个三点按钮。(3)单击三点按钮,会出现右图所示“加载图片”对话框。(4)在指定位置找到所要的文件,单击选取该文件,单击“打开”按钮,就可以实现图片的加载。“加载图片”对话框2.使用剪贴板粘贴图形文件到图片框(或图像框)(1)在窗体上建立图片框(或图像框)。(2)复制要粘贴的图形文件到剪贴板。(3)保持图片框(或图像框)为活动状态,选择“编辑”菜单中的“粘贴”命令,即完成图形文件的加载。在运行阶段可以通过LoadPicture函数加载图片,方法如下:(1)在窗体上建立图片框(或图像框)对象。(2)编写代码,通过LoadPicture函数实现运行阶段图形文件的加载,其一般格式为:这里的文件名是在图片框(或图像框)中加载的图形文件完整的文件名(路径\文件名.扩展文件名)。假如我们想装入的图形文件的完整文件名为——c:\picture\abc.jpg,图形文件的装入对象是Picture1,那么应该使用的语句如下:[对象.]Picture=LoadPicture("文件名")Picture1.Picture=LoadPicture("c:\picture\abc.jpg“)装入图片框的图形文件可以拷贝到另一个图片框中。例如,如果想把Picture1中的图片拷贝到Picture2中,可以使用下面的语句:图片框中的图形文件可以通过LoadPicture函数进行删除。例如,要想删除Picture1中的图片,可以使用下面的语句例6.4
在运行阶段加载图形文件的应用举例。假设要加载的图形文件的完整的文件名为:f:\动画图片\kitty.gif。在这个程序中,需要三个对象,分别为窗体、图片框和命令按钮,具体的属性设置如下表所示。Picture2.Picture=Picture1.PicturePicture1.Picture=LoadPicture()对象属性设置值Form1Caption加载图片Picture1AutoSizeTrueCommand1Caption加载图片属性设置程序运行后,单击Command1,就会加载指定的图片,其程序代码如下:PrivateSubCommand1_Click()Picture1.Picture=LoadPicture("f:\动画图片\kitty.gif")EndSub运行程序,单击Command1,窗体显示如右图所示。尽管在设计阶段和运行阶段都可以加载图片,但值得注意的是,如果选择在运行期间加载图片时,必须保证相应的文件存在(即完整的文件名是正确的,可以找到该图片),否则图片的加载会出错。因此,在设计阶段加载图片更为安全一些,但是会导致窗体文件(.frm)较大。加载图片6.2.4图片框和图像框的主要区别图片框和图像框的功能相似,主要就是显示图形文件。二者之间也存在着一些差异,主要包括以下几点:(1)图片框是容器控件,可以作为父控件,在其上可以在建立其他的控件,而图像框不具备这个功能。在存在容器控件的窗体中,我们可以说窗体的显示分为三层:第一层是直接显示在窗体上的信息,构成了底层;第二层是容器控件(即图片框和框架控件),构成了中间层;第三层是容器控件上的其他控件显示在顶层。(2)图片框可以使用Print方法接收文本和由像素组成的图形,而图像框不能。(3)图片框和图像框都有边框属性(BorderStyle),图片框的预设值为“1”(有边框),而图像框的默认值为“0”(无边框),所以当我们建立一个图像框,默认情况是没有边框的。如想添加边框,可以通过设置它的边框属性来完成。(4)图片框支持各种方法的绘图,而图像框则不支持绘图。(5)图片框占用的内存空间较大,图像框占用的内存空间小,显示速度快。所以当用图像框就能解决问题的时候,应该尽可能使用图像框。6.2.5图形控件的应用举例在前面的学习中,我们对图形控件的常用属性、事件和方法以及主要功能有了一个基本了解。下面我们通过两个例子练习一下所学知识。例6.5
设计一个程序完成对一个图形的放大和缩小。在本程序中需要用到的对象有窗体、图像框和两个命令按钮。图形文件在设计阶段加载,相应的对象属性设置如下表所示。对象属性设置值Form1Caption放大缩小图片Image1Borderstyle1Image1Picture要加载的图片的文件名:f:\动画图片\duck.gifImage1StretchTrueCommand1Caption1放大Command2Caption2缩小属性设置程序代码:'定义了每次放大或缩小的改变量DimdeltaAsInteger'放大图片PrivateSubCommand1_Click()Image1.Width=Image1.Width+deltaImage1.Height=Image1.Height+deltaEndSub'缩小图片PrivateSubCommand2_Click()Image1.Width=Image1.Width-deltaImage1.Height=Image1.Height-deltaEndSubPrivateSubForm_Load()delta=100EndSub程序运行界面如下图所示。程序运行后,单击“放大”按钮,图片会放大。同样,单击“缩小”按钮,图片会缩小。本例主要利用图像框的“Stretch”属性(值为“true”)进行图片的放大或缩小。图片的放大和缩小例6.6
编写程序,完成两个在设计阶段加载的图片的交换。该程序用图片框或图像框都能实现。为了尽可能节省内存空间,我们选择使用图像框(Image)。此外,为了实现图片的交换,必须要有一个中间的图形控件来存放其中的一个图形文件。所以该程序需要的对象有窗体和三个图像框,其属性设置值如下表所示。对象属性设置值Form1Caption图片交换Image1Picture加载的图形文件名:f:\动画图片\duck.gif(根据自己的具体情况改变)Image2Picture加载的图形文件名:f:\动画图片\kitty.gif属性设置程序代码PrivateSubForm_Click()'交换图片Image3.Picture=Image1.PictureImage1.Picture=Image2.PictureImage2.Picture=Image3.Picture'将Image3显示的图片删除Image3.Picture=LoadPicture()EndSub程序运行后,窗体如左图所示。在窗体上单击后,就会执行Form_Click()事件过程中编写的代码,交换图片,所以窗体如右图所示。
图片交换前的窗体显示
图片交换后的窗体显示6.3按钮控件命令按钮是在编写应用程序时最常用的控件之一,在前面的例子当中也涉及到命令按钮。在本小节,我们将系统学习命令按钮这个高频使用的控件的常用属性和事件。命令按钮的对象类型名称是:CommandButton,默认的名称是Commandx(x为1,2,3……)。常用于触发事件子程序,执行某种功能的操作。6.3.1命令按钮的常用属性命令按钮有很多属性,如Caption、Enable、FontBold、FontItalic、FontName、FontUnderline、Height、Width、Left、Top、Visible等。另外,它还如下常用属性。(1)Cancel属性当命令按钮的Cancel属性被设置为“True”时,按下Esc键和单击此按钮的作用是等效的。注意,在一个窗体中只允许有一个命令按钮的Cancel属性被设置为“True”。(2)Default属性当命令按钮的Default属性被设置为“True”时,按下Enter键和单击此按钮的作用是等效的。注意,在一个窗体中只允许有一个命令按钮的Default属性被设置为“True”。(3)Style属性该属性用来设置或返回一个值,这个值用来指定控件的显示类型和操作。按钮控件Style属性有两种取值。(4)Picture属性当Style属性设置为1(图形格式)时,可用该属性为按钮指定一个图形。(5)DownPicture属性该属性用来设置当按钮被按下时,按钮上显示的图形。同样地,只有当Style属性值为“1”时,该属性的设置才有作用。如果没有设置DownPicture属性的值,那么当按钮被按下时显示的是Picture属性设置的图形;如果图形太大超出按钮的边框,则只显示部分图形;如果两个属性都没有设置,那么只显示按钮的Caption属性。0——vbStandard标准样式1——vbGraphical图形格式(可以在按钮上显示图形)(6)DisabledPicture属性该属性用来设置当按钮被禁用(即按钮的Enabled属性为“False”)时显示的图形。和前两个属性一样只有当Style属性值为“1”,该属性的设置才有作用。Picture属性、DownPicture属性和DisabledPicture属性设置和图形控件的Picture属性设置一样,可以通过在设计阶段或运行阶段两种方法来加载图片。命令按钮最常用的事件是Click,注意命令按钮不支持双击事件。6.3.2按钮控件的应用举例命令按钮的应用非常广泛,下面我们通过两个例子来熟悉命令按钮的使用。例6.7
编程演示按钮控件的基本属性及常用方法。程序中用到的对象及属性设置如下表所示,Command1不需要特别设置属性,用默认的属性值就可以了,所以在下表中没有列出。对象属性设置值Form1Caption按钮Command2CaptionCancelCommand2Style1Command3Caption改变按钮风格Command3Style1Command4Caption设置按钮被按下的图片Command4Style1Command5Caption设置按钮无效时的图片Command5Style1属性设置程序代码:PrivateSubCommand1_Click()'设置按钮1显示的文字。Command1.Caption="此按钮已经单击过了"'设置按钮1为无效控件Command1.Enabled=FalseEndSub
PrivateSubCommand2_Click()MsgBox"取消操作"EndSub
PrivateSubCommand3_Click()‘设置按钮3的背景为红色Command3.BackColor=&HFF&'设置按钮2的背景图片Command2.Picture=LoadPicture("F:\教学\picture\图片\7.jpg")EndSub
PrivateSubCommand4_Click()'设置按钮4的背景图片Command4.Picture=LoadPicture("F:\教学\picture\图片\8.jpg")'设置按钮4被按下时的图片Command4.DownPicture=LoadPicture("F:\教学\picture\图片\9.jpg")EndSub
PrivateSubCommand5_Click()'设置按钮5无效Command5.Enabled=False'设置按钮5无效时显示的图片Command5.DisabledPicture=LoadPicture("F:\教学\picture\图片\xh.gif")EndSub程序运行后,窗体显示如左图所示。分别单击按钮1,3,4,5和按钮2后,窗体如右图所示。
程序运行结果
单击按钮后的窗体例6.8
设计一个计算器程序,输入任意两个数,执行后能进行加减乘除运算。这个程序的设计目的是练习命令按钮的基本使用方法,根据程序要求完成的功能,设计如下图所示的程序界面。程序用到的各个对象及其属性值的设置如下表所示。对象属性设置值Form1Caption小计算器Text1Text空(输入操作数的文本框)Text2Text空(输入操作数的文本框)Label1Caption空(输出运算符号)Label2Caption=Label3Caption空(输出运算结果)Label3BorderStyle1Command1Caption+Command2Caption-Command3Caption*Command4Caption/Command5Caption结束设计程序界面
对象的属性值设置程序代码:PrivateSubCommand1_Click()'对两个操作数求和Label1.Caption="+"Label3.Caption=Val(Text1.Text)+Val(Text2.Text)EndSub
PrivateSubCommand2_Click()'进行减法运算Label1.Caption="-"Label3.Caption=Val(Text1.Text)-Val(Text2.Text)EndSub
PrivateSubCommand3_Click()'进行乘法运算Label1.Caption="*"Label3.Caption=Val(Text1.Text)*Val(Text2.Text)EndSubPrivateSubCommand4_Click()'进行除法运算DimtempAsSingle'判断除数是否为“0”,如为“0”,显示出错信息。IfVal(Text2.Text)=0ThenLabel3.Caption="error"ExitSubEndIfLabel1.Caption="/"Label3.Caption=Val(Text1.Text)/Val(Text2.Text)EndSubPrivateSubCommand5_Click()EndEndSub程序执行后,若在第一个文本框中输入“132”,在第二个文本框中输入“79”,在单击“+”按钮,会显示如下图所示的结果。程序运行结果6.4直线和形状利用工具箱中的直线控件和形状控件可以绘制简单的直线和基本形状,同时可以设置直线或形状的颜色,还可以设置基本形状的填充图案等。直线控件和形状控件在VB中的默认名称分别是Linex和Shapex(x为1,2,3……)。下面我们分别对直线和形状的常用属性做系统介绍。6.4.1直线直线的对象类型名称是Line,在程序中的功能主要是用来画直线。它有以下几个常用属性。(1)BorderColor属性该属性用来设置对象的边框颜色。(2)BorderStyle属性用来设置对象的线条样式,可以设置的值是0—6的整数,对应的符号常量如下。当BorderStyle属性为“0”时,该控件是不可见的。(3)BorderWidth设置直线的宽度。该属性值不能设置为“0”0——Transparent(透明)1——Solid(实线)2——Dash(虚线)3——Dot(点线)4——Dash-Dot(点划线)5——Dash-Dot-Dot(双点划线)6——InsideSolid(内实线)(4)X1、X2、Y1、Y2属性X1属性用来设置直线在X轴线方向上的起始点;X2属性用来设置直线在X轴线方向上的终止点;Y1属性用来设置直线在Y轴线方向上的起始点;Y2属性用来设置直线在Y轴线方向上的终止点。可以说用这个属性可以设置一条直线的位置和长短。在设计阶段可以用鼠标拖动直线两端的两个黑点,直接改变直线的位置和长短。在程序的运行期间则可以通过对X1、X2、Y1、Y2属性的赋值来改变其位置和长短。下面我们通过一个小例子来了解直线的使用方法。例6.9
在屏幕上画几条粗细不同,线型不同的直线。我们在窗体上画三条粗细不同,线型不同的直线,对象及其属性设置如下表所示。对象属性设置值Form1Captionline示例Label1CaptionLine-1Label2CaptionLine-2Label3CaptionLine-3Line1Borderwidth1Line2Borderwidth4Line3Borderwidth8属性设置本例不需编写程序,运行结果如下图所示。程序运行结果6.4.2形状(Shape)该控件的对象类型名称是Shape,可以用作绘图对象,也可用做图形或其他输出内容的外边框。它的常用属性BorderColor、BorderStyle、BorderWidth和直线的属性是一样的,就不再做重复介绍了。(1)Shape属性设置控件的形状,其值为0~5,分别代表六种形状。(2)Fillcolor属性设置填充形状使用的颜色。0——Rectangle(矩形)1——Square(正方形)2——Oval(椭圆形)3——Circle(圆)4——RoundedRectangle(圆角矩形)5——RoundedSquare(圆角正方形)(3)Fillstyle设置Shape控件的填充样式,有0——7共8种填充样式。下面列出属性值和对应的符号常量以及填充样式。0——Solid(实色)1——Transparent(透明)2——HorizontalLine(水平线)3——VerticalLine(垂直线)4——UpwardDiagonal(向上的对角线)5——DownwardDiagonal(向下的对角线)6——Cross(十字线)7——DiagonalCross(对角十字线)例6.10
设计程序显示Shape的六个不同形状,并且每一个Shape控件的填充样式的属性值和Shape属性值相同。在本例中我们需要建立一个控件数组,这个数组中有六个Shape控件,分别显示不同的形状且有不同的填充样式。首先,我们在窗体上建立1个Shape控件,然后用复制粘贴的方法建立控件数组(一共6个控件对象)。需要特别设置的对象属性如下表所示。对象属性设置值Form1Caption不同形状的显示对象属性设置程序代码PrivateSubForm_Click()Shape1(0).FillColor=0Fori=1To5Shape1(i).Left=Shape1(i-1).Left+Shape1(i-1).Width+100Shape1(i).Shape=iShape1(i).FillStyle=iShape1(i).Visible=TrueNextiEndSub程序运行后,在窗体上单击,窗体显示如下图所示。程序运行结果6.5复选框和单选按钮在应用程序中,有时需要用户进行选择,最常见的选择控件是复选框和单选按钮。比如在Office软件设置“字体”的对话框中,效果的选择就是复选框;在“选项”对话框的“中文版式”标签中,设置“字距调整”、“控制字符间距”和“首尾字符”使用的都是单选按钮。在VB的工具箱里,复选框和单选按钮的图标如下图所示。复选框的类型名称是:CeckBox;单选按钮的类型名称是:OptionButton。复选框和单选按钮默认的Name属性分别为Checkx和Optionx(其中x为1,2,3……)。在应用程序中,这两个控件主要用于从一系列的选项中选择某项或使某些功能起作用。如果是复选框,可以选择多个选项;如果是单选按钮,只能选择一个选项,选择了一个选项,就自动放弃了其他选项。两种按钮的图标6.5.1复选框和单选按钮的常用属性和事件在前面讲到的控件的属性,大部分都可以用于复选框和单选按钮。包括:BackColor、Caption、Picture、DownPicture、DisabledPicture、Enabled、FontBold、FontItalic、FontSize、FontUnderline、Height、Left、Name、Top、Visible、Width……。此外,复选框和单选按钮还有以下属性。(1)Value属性存放选项按钮的状态,如果是复选框,Value属性可设置为0、1或2。其中:0——表示没有选择该复选框;1——表示选中该复选框;2——表示该复选框被禁止(灰色)。如果是单选按钮,Value属性可设置为True或False。True——表示按钮是“打开”状态;False——表示按钮“关闭”状态。(2)Alignment属性设置或返回一个值,决定CheckBox或OptionButton控件、控件中的文本的对齐方式。该属性的设置在设计阶段或运行阶段都可以进行,如在运行期间设置该属性,格式如下:对象可以是复选框、单选按钮、标签、文本框;值可以是数值也可以是符号常量,属性值和对应的符号常量如下表所示。对象.Alignment[=值]常数设置值描述VbLeftJustify0(缺省值)文本左对齐,控件右对齐VbRightJustify1文本右对齐,控件左对齐。Alignment的属性取值(3)Style属性返回或设置一个值,该值用来指示控件的外观是标准风格(标准的Windows风格)还是图形风格(带有自定义图片)。该属性在运行时是只读的,也就是说只能在设计阶段使用。Style属性的设置值如下表所示。常数值描述VbButtonStandard0(缺省的)标准的。控件按它们在VisualBasic老版本中的样子显示。也就是,Checkbox控件显示为在其身旁有一个标签的复选框,OptionButton显示为在其身旁有一个标签的选项按钮VbButtonGraphical1图形的。控件用图形的样式显示。即,Checkbox控件显示为类似按钮的CommandButton,它能上下切换;OptionButton显示为类似按钮的CommandButton,它保持向上或向下的切换,直到它的选项群组内的另一个OptionButton被选中Style属性的取值复选框和单选按钮都可以接收Click事件。用鼠标单击一下复选框或者单选按钮,它们的Value值就会改变一次,引发一次事件。以复选框为例,当某项被选中(其Value为“1”),在复选框内有“√”符号,代表此项功能有效,否则表示无效。6.5.2复选框和单选按钮的应用举例CheckBox和OptionButton控件功能相似,但二者之间也存在着重要差别:在一个窗体中可以同时选择任意数量的CheckBox控件。而反过来,在一个组中,在任何时侯则只能选择一个OptionButton控件。例6.11
设计一个可以对文本进行编辑的程序,并能通过复选框的设定来改变所编辑文字的字形。该程序要用到显示文本的文本框和进行字形设计的复选框,具体的对象及属性设置如下表所示。对象属性设置值Form1Caption复选框示例Text1Text""Text1MultilineTrueText1Scrolbars3Check1Caption粗体Check2Caption斜体Check3Caption下划线对象属性设置程序代码PrivateSubCheck1_Click()Text1.FontBold=Check1.ValueEndSub
PrivateSubCheck2_Click()Text1.FontItalic=Check2.ValueEndSub
PrivateSubCheck3_Click()Text1.FontUnderline=Check3.ValueEndSub
PrivateSubForm_Load()Text1.FontSize=18EndSub程序运行后,每单击一次某复选框,其Value值就会改变一次,那么复选框所显示的功能就会在有效或无效之间改变一次。对Text1中文本的编辑是可以多种字形效果一起使用的,所以在这个程序中,我们使用复选框来作为选择控件。程序运行后,我们不做任何操作,也就是不去触发任何事件,窗体显示如右图所示。程序运行结果假如我们在文本框中输入“VB程序设计”,并且单击Check1、Check2和Check3,那么窗体的显示如下图所示。
单击Check1、Check2和Check3后的窗体例6.11设计的程序可以编辑文本的字形,但是不能改变字的大小,所以我们可以对上述程序作功能的扩展,使我们的程序不但能改变字形而且能改变字号。例6.12
对例6.11的程序做个改进,添加改变字号的功能。分析:字号的大小是非此即彼的,也就是当我们选择文本以一种字号显示时,那么也就自动放弃了对其他字号的选择,所以用于设置字号的选择控件应该是单选按钮。如果增加字号改变(例如四种字号的选择)功能,那么我们必须在上例基础上再增加四个单选按钮,需要增加的对象及属性设置如下表所示。对象属性设置值对象属性设置值Option1Caption10Option3Caption18Option2Caption14Option4Capton26增加的对象属性设置程序代码:PrivateSubCheck1_Click()Text1.FontBold=Check1.ValueEndSub
PrivateSubCheck2_Click()Text1.FontItalic=Check2.ValueEndSub
PrivateSubCheck3_Click()Text1.FontUnderline=Check3.ValueEndSub
PrivateSubOption1_Click()Text1.FontSize=10EndSubPrivateSubOption2_Click()Text1.FontSize=14EndSub
PrivateSubOption3_Click()Text1.FontSize=18EndSub
PrivateSubOption4_Click()Text1.FontSize=26EndSub程序运行后,假如我们仍旧在文本框中输入“VB程序设计”,然后单击Check1、Check2、Check3和Option4,窗体显示如下图所示。单击Check1、Check2、Check3和Option4的窗体6.6列表框和组合框控件我们在使用应用程序时,经常会遇到需要进行选择的列表项目,在VB中,通过工具箱中列表框和组合框控件可以实现该功能。列表框常用来显示一个项目的列表,用户可从中选择一项或多项。组合框兼有文本框和列表框两者的功能,既可在控件的文本框部分输入信息,也可选择列表中的一项。在工具箱中列表框和组合框的图标如右图所示。列表框的类型名称是List;组合框的类型名称是ComboBox。它们默认的Name属性值分别为Listx和Combox(这里的x是1,2,3……)。组合框和列表框图标6.6.1列表框列表框常用于显示或列出一些数据表列,给用户提供有关的选择。例如VB系统的代码编辑窗口,对象和过程的选择都是列表框。1.常用属性列表框支持的属性包括:Enabled,FontBold,FontItalic,FontName,FontUnderline,Height,Left,Top,Visible,Width。此外,还有一些特殊的属性。(1)List属性该属性用来设置或返回列表项的内容。List属性是一个字符型数组,该数组中存放了列表框中的所有列表项的内容。可以通过下标访问数组中的值(从0开始)。其格式为:s$=[列表框.]list(下标)也可以改变列表中已有的值,格式为:[列表框.]list(下标)=s$(2)Columns属性设置列表框中内容的显示方式,可以设置的值如下表所示。设置值描述0(缺省值)项目安排在一列中,且ListBox垂直滚动1到n项目安排在多个列中,先填第一列,再填第二列等等ListBox水平滚动并显示指定数目的列Columns的属性值当Columns属性值不为“0”时,如果表项的总高度超过了列表框的高度,将把部分表项移到右边一列或几列显示。当各列的宽度之和超过列表框宽度时,将自动在底部增加一个水平滚动条。(3)ListCount属性该属性返回控件的列表部分项目的个数。(4)ListIndex属性返回或设置控件中当前选择项目的索引值。第一项的索引值为“0”,第二项的索引值为“1”,依次类推,最后一项的索引值是ListCount-1。如没有选中任何项,ListIndex的值将设置为“-1”。在程序中设置ListIndex后,被选中的条目反相显示。(5)MultiSelect属性该属性的用来设置用户是否可以在列表框中做多重选择。MultiSelect属性可以设置成以下三种值:需要注意的是,如果MultiSelect属性值设置为“1”或“2”,则可以同时选择多个表项,但是ListIndex和Text的属性只表示最后一次的选择值。为了确定所选择的表项,必须检查Selected属性的每个元素。0——None每次只能选择一项。1——Simple可以同时选择多项。2——Extended可以选择指定范围内的表项。选择的时候可以单击所要选择的范围的第一项,然后按下Shift键,不要松开,并单击所要选择的范围的最后一项。(6)Selected属性返回或设置在ListBox控件中的一个项的选择状态,设计时不可用,可以在运行时使用该属性,语法如下:(7)SelCount属性该属性用于返回选中的列表项数目。它通常与Selected一起使用,以处理控件中的所选项目。(8)Sorted属性指出控件元素是否自动按字母顺序排序。默认值是“False”,表示不按字母顺序排序;如果设置为“Ture”,则自动按字母顺序排列各列表项。对象.Selected(Index)[=Boolean]对象是ListBox,Index为该列表项的索引值,Boolean设置值为“True”和“False”。当为“True”时,表示该表项被选中;当为“False”时,表示该表项未被选中(缺省值)。(9)Style属性该属性决定是否将复选框显示在ListBox控件中,只能在设计时确定。其取值可以设置为“0”(标准形式)和“1”(复选框形式)。(10)Text属性当列表框产生Click事件时,在Text属性中存放用户最后一次所选的表项的内容。2.列表框事件列表框可以接收Click事件和DblClick事件,但是通常不编写Click事件代码,而是当单击一个命令按钮或发生DblClick事件时读取Text属性值。3.列表框方法列表框可以使用AddItem、Clear、RemoveItem三种方法,利用它们可以在程序运行期间修改列表框的内容。(1)AddItem方法用于将项目添加到ListBox或ComboBox控件。一般的语法格式为:通常情况下,我们在设计时不设置列表框的内容,而是在程序运行时通过AddItem方法添加,并且一般是在窗体加载时在FormLord()事件子程序中初始化列表框。object.AddItemItem,Indexobject:对象表达式,可以是列表框或组合框。Item:字符串表达式,用来指定添加到该对象的项目。Index(可选):整数,用来指定新项目或行在对象中的位置。其中,ListBox或ComboBox中的首项Index为0。(2)RemoveItem方法用以从ListBox或ComboBox控件中删除一项。格式如下:(3)Clear方法该方法用于清除列表框中的所有内容。其语法格式为:执行Clear方法后,ListCount属性的值重新被设置为“0”。object.RemoveItemIndexobject:对象表达式,仍然是列表框或组合框。Index:整数,表示要删除的项或行在对象中的位置。对于ListBox或ComboBox中的首项,Index=0。object.Clear例6.13
设计两个列表框,一个列表框中列出一些歌曲的名字,由用户从中选取歌曲,在另一个列表框中显示用户所选中的歌曲;当用户在已选的歌曲列表中单击某一项时,则取消该项的选取。该程序用到的对象及其属性的设置如下表所示。对象属性设置值Form1Caption列表框应用示例Label1Caption点歌台Label2Caption歌曲目录Label3Caption选择曲目List1Fontsize12List1SortedTrueList2Fontsize12对象属性设置程序代码:PrivateSubForm_Load()Label1.FontUnderline=True'初始化列表框List1List1.AddItem"最美"List1.AddItem"浪花一朵朵"List1.AddItem"阴天"List1.AddItem"爱在西元前"List1.AddItem"七里香"List1.AddItem"忽然之间"List1.AddItem"童话"List1.AddItem"两只蝴蝶"List1.AddItem"掌心"EndSubPrivateSubList2_Click()'从List2中移除选中表项List2.RemoveItemList2.ListIndexEndSub程序运行后,在List1中单击“爱在西元前”、“七里香”、“童话”,窗体显示如右图所示。在List1中单击“爱在西元前”、“七里香”和“童话”后的窗体6.6.2组合框组合框和列表框的功能非常相似,该控件兼有列表框和文本框的功能,既可以在控件的文本部分输入信息,也可以从控件的列表框部分选择某个列表项。组合框在其列表框中列出参考项,另外还有一个文本框,若列表框中没有需要选择的项,那么可以在文本框中输入信息。若组合框的列表框中的某项被选中,该选项的内容将自动出现在组合框的文本框中。在应用程序中从一个文件夹中选择一个文件或在一个驱动器中选择一个文件夹使用的都是组合框。组合框支持列表的List、ListIndex、ListCount和Sorted等属性,此外,它还有自己的一些特殊属性。1.属性(1)Style属性该属性用来设置组合框的样式,在运行时是只读的,也就是说,该属性只能在设计阶段设置。其属性值有以下三种,如下表所示。常数值描述VbComboDropDown0(缺省值)下拉式组合框。包括一个下拉式列表和一个文本框。可以从列表选择或在文本框中输入VbComboSimple1简单组合框。包括一个文本框和一个不能下拉的列表。可以从列表中选择或在文本框中输入。简单组合框的大小包括编辑和列表部分。增加Height属性值可显示列表的更多部分VbComboDrop-DownList2下拉式列表。这种样式仅允许从下拉式列表中选择组合框Style属性值下图展示了3种不同类型的组合框。组合框基本类型我们来回顾一下以前学过的具有Style属性的控件。对于Checkbox、CommandButton和OptionButton控件,Style属性的设置值为0(标准的也是缺省值)和1(图形的);对于List控件,Style属性的设置值为0(标准形式即缺省设置)和1(复选框形式)。(2)Text属性存放从选项中选择的文本或用户在文本编辑区中输入的文本。在设计时,Text属性默认为组合框的名字。2.组合框事件组合框能够接收的事件是由其Style属性值决定的。当Style属性为“1”时,它可以接收DblClick事件;当Style属性为“0”和“2”时,它可以接收Click事件和DropDown事件;当Style属性为“0”和“1”时,当用户在文本框中输入或编辑信息时,可以接收Change事件。当用户单击组合框中向下的箭头时,将触发DropDown事件,该事件实际上是对应于向下箭头的单击(Click)事件。3.组合框方法AddItem方法、RemoveItem方法、Clear方法同样适用于组合框,用法同列表框一样。例6.14
设计程序,当学生输入姓名,选择系别、年级和籍贯后,在图片框中将输入和选择的信息显示出来。设计程序界面如下图所示。设计程序界面各对象的属性设置如下表所示。NameCaptionTextNameCaptionTextStyleForm1Combobox示例无Combo1无计算机科学系1Label1姓名无Combo2无—2Label2系别无Combo3无河南0Label3年级无Command1确定无—Label4籍贯无Command2取消无—Text1无空对象的属性设置程序代码PrivateSubCommand1_Click()Picture1.FontSize=18'在Picture1中显示输入以及选择的信息Picture1.PrintText1.Text;",";Combo1;",";Combo2;"学生,";Combo3;"人。"EndSub
PrivateSubCommand2_Click()endEndSub
PrivateSubForm_Load()'初始化Combo1Combo1.AddItem"计算机科学系"Combo1.AddItem"外语系"Combo1.AddItem"物理系"Combo1.AddItem"数学系"Combo1.AddItem"化学系"Combo1.AddItem"经贸系"Combo1.AddItem"艺术系”'初始化Combo2Combo2.AddItem"1年级"Combo2.AddItem"2年级"Combo2.AddItem"3年级"Combo2.AddItem"4年级"'初始化Combo3Combo3.AddItem"河南"Combo3.AddItem"河北"Combo3.AddItem"湖南"Combo3.AddItem"湖北"Combo3.AddItem"山东"Combo3.AddItem"浙江"Combo3.AddItem"江苏"Combo3.AddItem"安徽"Combo3.AddItem"江西"Combo3.AddItem"广东"Combo3.AddItem"山西"EndSub运行程序,在文本框中输入“张三”,在Combo1中选择“外语系”,在Combo2中选择“1年级”,在Combo3中输入“北京”,最后单击“确定”按钮,结果如下图所示。程序运行结果6.7框
架框架是一个容器控件,用于将屏幕上的对象进行分组。在工具箱中,框架的图标如右图所示。框架图标框架的类型名称是:Frame,默认的Name属性是Framex(x为1,2,3,……)。使用框架的主要目的是为了对控件进行分组。需要注意的是,在框架内安排对象时,应先设置框架,然后在框架上建立各个对象。千万不能先设置好了对象,然后再建立框架去套它们,这样的套法,对象并不能被框架所包含。如果先建立好了对象,又创建框架去分组对象,必须先将该对象剪切,然后在框架内粘贴,才能够使框架包含对象。框架的主要属性是Caption,用于标识框架标题。框架的常用事件是Click和DblClick。此外,移动框架时,框架包含的对象也会一起移动。我们前面介绍了单选按钮和复选框,在应用程序中,这两类控件经常要使用框架控件来进行分组。下面我们来看个例子。例6.15
设计一个程序安排两组按钮,分别控制文本框中的字体类型(如宋体、楷体、黑体、隶书等)和字体大小(10、14、18、24码等)。分析:不管是字体类型还是字体大小,每一时刻只能是其中的一种,所以这两组按钮应该都是单选按钮,而且两组按钮要用框架分离开,另外,窗体上还要有文本框控件。综上所述,在这个程序中要有12个对象,分别是窗体、文本框、两个框架和8个单选按钮。程序中需要的对象及其属性设置如下表所示。对象属性设置值对象属性设置值Form1CaptionFrame对象应用示例Option1Caption楷体Text1Text空Option2Caption宋体Text1MultiLineTrueOption3Caption隶书Text1FontSize12Option4Caption黑体Frame1Caption字体Option5Caption10Frame1FontSize12Option6Caption14Frame2Caption字号Option7Caption18Frame2FontSize12Option8Caption24对象及其属性设置程序代码PrivateSubOption1_Click()Text1.FontName="楷体_GB2312"EndSub
PrivateSubOption2_Click()Text1.FontName="宋体"EndSub
PrivateSubOption3_Click()Text1.FontName="隶书"EndSub
PrivateSubOption4_Click()Text1.FontName="黑体"EndSubPrivateSubOption5_Click()Text1.FontSize=10EndSub
PrivateSubOption6_Click()Text1.FontSize=14EndSub
PrivateSubOption7_Click()Text1.FontSize=18EndSub
PrivateSubOption8_Click()Text1.Fon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级数学(小数乘除法)计算题专项练习及答案
- 高中美术课程传统版画艺术与现代平面设计的融合实践教学研究课题报告
- 2024年天津师范大学津沽学院马克思主义基本原理概论期末考试真题汇编
- 2024年周口文理职业学院马克思主义基本原理概论期末考试模拟试卷
- 2025年湖北中医药高等专科学校马克思主义基本原理概论期末考试参考题库
- 2025年合肥信息技术职业学院马克思主义基本原理概论期末考试笔试真题汇编
- 2025年吉林省教育学院马克思主义基本原理概论期末考试笔试题库
- 2024年大连工业大学艺术与信息工程学院马克思主义基本原理概论期末考试模拟试卷
- 2024年湖北师范大学马克思主义基本原理概论期末考试真题汇编
- 2025年南通理工学院马克思主义基本原理概论期末考试模拟试卷
- 安全生产工作一号文件
- 公司境外股权投资管理办法
- 七年级可爱的四川教案
- 建筑施工预算评审报告
- 单位工程施工组织设计驿站及扩大示范区
- 产品外协加工作业流程
- 蕲蛇酶注射液简介课件
- GB/T 4677-2002印制板测试方法
- GB/T 4162-2022锻轧钢棒超声检测方法
- 消防安全检查申报表(填写样式模板)
- 巢湖学院化生学院教师企业挂职锻炼日志
评论
0/150
提交评论