4.14.2窗口控件的种类向窗口添加控件4.34.4窗口控件的布局调整窗口控件的通用属性4.5常用的窗口控件4.6常用的窗口控件编程实例各种控件的名称、主要用途及对窗口控件对象起名的默认前缀见表4.1。系统默认控件前缀的修改如图4.1所示。4.2.1添加窗口控件的方法打开窗口后,有两种方法向窗口添加控件,一种是通过选单中“Insert”选单栏下的“Control”项,打开窗口控件列表框,选择需要的控件,然后在窗口上放置该控件的地方单击鼠标左键,被选中的窗口控件就会在该处出现,如图4.2所示。另一种是通过图标按钮方式,单击带向下小三角的窗口控件组合图标,弹出窗口控件图标对话框,单击需要选择的控件图标,然后在窗口上放置该控件的地方单击鼠标左键,被选中的窗口控件就会在该处出现,如图4.3所示。(1)使用鼠标在窗口中单击需要选择的控件。当需要同时选择多个控件时,可以在布局视图区的窗口中,按下鼠标左键然后拖曳鼠标,拉出一个矩形,松开左键后,在拖出矩形中的所有控件都被选中。(2)在控件列表区中选择。如果控件列表区没有打开,可以使用选单项“View|ControlList”将其打开。在控件列表区中列出了当前窗口中的全部控件,单击某个控件列表项时,窗口中相应的控件即被选中。(3)快速全部选中。首先使布局视图区中的窗口为当前活动窗口(使用鼠标在布局视图区窗口中任意位置单击即可),然后单击选单栏“Edit”下的“SelectAll”,则窗口中的所有控件全部选中。删除窗口控件的方法也有两种,一种是首先选中需要删除的控件,可以是一个或多个控件,然后单击选单“Edit”栏下的“Delete”选单项,所选窗口控件即可被删除,如图4.4所示。(1)外观复制。它只复制控件的外观和属性,而控件所带的事件脚本则不复制,其实现办法为首先选中需要复制的控件,可以是一个或多个控件,然后按下【Ctrl+T】组合键。(2)完全复制。它将控件的外观、属性及所有事件的脚本全部复制出来,其实现办法是首先选中需要复制的控件,可以是一个或多个控件,然后进行复制。完全复制的方法有以下三种。①用【Ctrl+C】组合键复制到剪贴板中,再按【Ctrl+V】组合键粘贴出来。复制出来的新控件与被复制的控件重叠在同一位置,使用鼠标将其拖开,并根据需要对新控件进行修改。②使用系统选单项“Edit|Copy”将控件复制到剪贴板中,再通过选单项“Edit|PasteControls”将剪贴板中的控件粘贴到窗口中。只有将控件复制到剪贴板后,“Edit”选单栏下的“PasteControls”选单项才会出现。③使用工具栏上的复制和粘贴图标,如图4.5所示。4.3.1齐整性操作比较常用的方法是利用系统工具栏上的齐整性操作组合图标(共有11种齐整性操作图标),具体作用如图4.6所示。具体操作步骤是,首先选中需要进行齐整性操作的控件,第一个选中的必须是作为基准的控件,然后单击工具栏上齐整性操作的小三角▼,弹出齐整性操作图标按钮选单,单击需要进行的齐整性操作图标按钮即可,如图4.7所示。也可以通过选单操作进行齐整性调整。在“Format”选单栏下,有三个带下级子选单的选单项,其中,“Align”弹出控位件置对齐的选单;“Space”弹出调整控件间隔的选单;“Size”弹出调整控件大小的选单。选单中各项的意义及作用见表4.2。通过选单命令进行窗口控件齐整性操作的过程与通过图标按钮类似,以第2章的计算器的程序为例,图4.8显示了通过选单命令进行窗口控件位置对齐的操作。操作过程如图4.9所示。1.标题系统默认时,控件的标题自动设置为“None”。开发人员只需首先选中控件,然后在标题栏中输入所需的标题。输入完毕,将焦点离开标题栏,即可在窗口视图区看见编辑控件的标题。除了可以修改标题的文字提示以外,还可以修改字体、字型及可能的对齐方式等。以修改命令按钮控件文本标题为例,图4.10中示例了设置标题按钮为“清除”。图4.11中示例了选择标题字体为“宋体”,大小为12号字。需要指定对齐方式时通过单击指定所需的对齐方式。2.“Visible”属性在控件属性对话框的“General”标签页中,一般都有“Visible”复选框,它决定了该控件的可视性。默认时,“Visible”复选框都被选中,该控件显示在窗口中。如果希望某个控件初始时不显示,则不选中“Visible”复选框即可,在窗口视图区就看不见该控件。如果想恢复该控件的可视性或修改它的其他属性,则应首先单击控件列表区中该控件的对象名称,这时当前属性表为该控件的属性,即可对其进行修改,选中“Visible”复选框后,该控件立刻在窗口视图区中显示出来。窗口控件的可视性可以在代码中灵活控制,方法是设置控件对象的“Visible”属性为True(可见)或False(不可见)。例如,要显示被隐藏的命令按钮“cb_1”,程序代码如下:cb_1.Visible=TRUE3.“Enabled”属性在控件属性对话框的“General”标签页中,可以找到“Enabled”复选框,它决定了该控件的可用性。默认时,“Enabled”复选框都被选中。当“Enabled”复选框被选中时,该控件处于活动状态,它能够响应用户的操作。若“Enabled”复选框不被选中,则该控件处于不活动状态,其事件都不会被触发,控件标题和轮廓变为灰色,控件只可见而不可用。窗口控件的可用性在代码中的控制方法与可视性类似,只要设置控件对象的Enabled属性为True(可用)或False(不可用)即可。例如,要使命令按钮“cb_1”“变灰”不可用,程序代码如下:cb_1.Enabled=FALSE4.快捷键(1)选中该控件。(2)在属性表“General”页的“Accelerator”编辑框中输入作为快捷键的字符,例如,要使【Alt+N】成为单行编辑框的快捷键,则在“Accelerator”编辑框中输入字符“n”。(3)选中对其说明的静态文本框,在文本前面加上“&”字符和快捷键字符,用于对快捷键进行提示。5.标签Tag属性“Tag”属性是一段和控件相关的字符串,它本身并没有什么特定的用途,主要取决于用户如何使用它。例如,代码w_main.SetMicroHelp(This.Tag)的用途是将状态栏指定为当前控件的“Tag”值。6.边界Border和边界类型BorderStyle属性“Border”属性是一个布尔类型的值,它决定了控件是否有边界。只有当“Border”属性被设为True时,“BorderStyle”属性才会有效。“BorderStyle”属性是对控件各种边框形式进行规定的属性,它是一个枚举类型。4.5.1选项卡通过选项卡“Tab”可以方便地使用多个选项页,Windows系统中的系统属性就是采用由四个选项页组成的选项卡方式表达的,它的外观如图4.12所示。1.创建选项卡“Tab”的步骤创建选项卡“Tab”的步骤如下。(1)生成选项页,步骤如图4.13所示。(2)修改选项卡和选项页的属性,注意,当单击标签时出现的是选项卡属性,而单击选项页时出现的是选项页的属性。选项卡的基本属性如图4.14所示,选项页列表中将所有选项页的名称和标签上的标题顺序排列出来。在选项页内任意一点单击时出现选项页的基本属性,如图4.15所示。在“第一页”标签上单击鼠标右键,选择弹出选单中的“InsertTabPage”选单项,如图4.16所示,系统就自动在“第一页”标签的右边添加了一个标签为“none”的新选项页,采用与前面类似的方法可以将新添加的标签的名字改为“第二页”。2.选项卡“Tab”常用属性选项卡“Tab”常用属性有以下两种。(1)SelectedTab:获得或指定所选择标签的索引。返回integer值。例如,要获得当前选的是哪一个标签页(即可见的那个选项页),程序如下:Intselectselect=tab_1.SelectedTab(2)TabPosition:指定标签显示在“Tab”控件的什么地方,值如下:tabsontop!顶部显示tabsonbottom!底部显示tabsonleft!左边显示tabsonright!右边显示tabsontopandbottom!先顶部后底部显示tabsonbottomandtop!先底部后顶部显示tabsonleftandright!先左边后右边显示tabsonrightandleft!先右边后左边显示例如,当窗口打开时,“Tab”控件的标签显示在左边,同时选中第2个标签页,可以在窗口的Open事件中输入如下代码:tab_1.TabPosition=TabsOnLeft!Tab_1.SelectedTab=23.选项卡“Tab”常用函数下面是选择指定的标签页函数。格式:SelectTab(Intindex)例如,若要选择第2个标签页,则可以使用tab_1.SelectTab(2)实现,等价于tab_1.SelectedTab=2。4.选项卡“Tab”常用事件SelectionChanged:选择了新的标签页后触发。1.命令按钮命令按钮的属性表有三页。(1)“General”属性页如图4.17所示,它用于定义命令按钮的一般属性,包括名称、标题、是否显示、是否可用等。(2)“Font”属性页用于定义命令按钮标题的显示字体。(3)“Other”属性页用于定义命令按钮的放置位置、宽度和高度,当鼠标指针位于该命令按钮时鼠标指针的形状,以及当拖曳该命令按钮时鼠标指针的形状。2.命令按钮常用属性Text:获得或指定显示在该控件上的文本(即命令按钮标题)。3.命令按钮常用事件命令按钮有十几个事件,其中最常用、最重要的事件是“Clicked”事件,它是在按钮被单击时触发的。在“Clicked”事件的事件处理程序中编写按钮被按下时要执行的代码。例如,有两个窗口“w_1”和“w_2”,在“w_1”上有一个命令按钮“cb_1”,开始“cb_1”的标题为“Open”。单击“cb_1”将打开“w_2”,这时“cb_1”的标题将变为“Close”。再次单击“cb_1”将关闭“w_2”,同时,“cb_1”的标题又变为“Open”,如此循环。若直接关闭,则“w_2”,“cb_1”的标题也将变为“Open”。在“cb_1”的“Clieked”事件中,编写如下代码:IFThis.Text=OpenTHEN//若标题为Open则打开w_2,同时将标题改为CloseOpen(w_2)THIS.Text=CloseELSE//若标题为Close则关闭w_2,同时将标题改为OpenClose(w_2)THIS.Text=OpenENDIF在w_2的Close事件中,编写如下代码:w_1.cb_1.Text=Open//将cb_1的标题改为Open4.图像按钮图像按钮(PictureButton)的功能与命令按钮类似,区别在于可以在该按钮上显示BMP、GIF、JPG、JPEG、RLE或WMF格式的图像,而且能够以不同图像表示按钮处于允许和不允许两种状态。当希望使用一幅贴切的画面而不仅是文字表示一个按钮时,应该选用图像按钮。5.为图像按钮指定图片为图像按钮指定图片的步骤如下。(1)将图像按钮放置到窗口上并选中。(2)选择属性表中的“General”选项页。(3)在“PictureName”编辑框中输入该按钮被允许时所显示图像的文件名。(4)需要对图片大小进行调整时,可以使用鼠标放在图片按钮边沿,鼠标形状变为双向箭头时,可以拖曳鼠标,改变图片控件大小。6.图像按钮常用属性Text:获得或指定显示在该控件上的文本(即图像按钮标题)。PictureName:获得或指定图像按钮上显示的图片文件名。例如,pb_1.PictureName=c:\yhx\person.gif。7.图像按钮常用事件图像按钮最常用、最重要的事件是“Clicked”事件,它是在按钮被单击时触发的。在“Clicked”事件的事件处理程序中编写按钮被单击时要执行的代码。单选按钮(RadioButton)、复选框(CheckBox)是为了方便用户做出选择而设计的。分组框