第六章常用控件6.1常用控件6.2选择性控件6.3滚动条6.4时钟控件6.5高级控件6.6综合应用举例6.1图形控件6.1.1图片框和图像框图片框图片框(PictureBox)主要用来显示图片图象。(1)在设计阶段装入图片改变属性窗口中的Picture属性(2)在运行期间装入图片对象名.Picture=LoadPicture([filename])如:Picture1.Picture=LoadPicture(c:\windows\Bubbles.bmp)删除图片框的图形也同样使用LoadPicture如:Picture1.Picture=LoadPicture()图片框的Autosize属性:决定控件是否自动适应图片的大小true:图片框自动调整大小适应图片。false:图片框不能自动调整大小,加载的图形保持其原始尺寸。图6-1AutoSize属性为False图6-2AutoSize属性为True图象框图象框(Image)作用与图片框类似,区别在于:1、图片框可以作为其它控件的容器2、图片框可以通过Print方法显示文本3、图像框比图片框占用内存少,显示速度快图像框的Strech属性:决定图片是否自动适应控件的大小true:被加载图形自动调整大小适应图象框的大小。false:图象框自动调整大小适应加载的图形。图6-3图像框本来大小图6-4Stretch属性为False图6-5Stretch属性为True例[6-1]图片框示例。在窗体Form1上画一个图片框,名称为P1,高为1900,宽为2400。请编写适当的事件过程,使得在运行时,如果单击窗体,则装入D盘下的文件名为Pic1.bmp的图片,如图6-6所示;如果双击窗体,则图片框中的图片消失。图6-6图片框示例程序清单如下:PrivateSubForm_Click()P1.Picture=LoadPicture(″D:\Pic1.bmp″)′装入图片EndSubPrivateSubForm_DblClick()P1.Picture=LoadPicture(″″)′清除图片EndSub例[6-2]交换图形。编写程序,交换两个图像框中的图形。建立程序界面如图6-7所示。在窗体上建立三个图像框,一个命令按钮。然后进行属性设置。图6-7“交换图形”设计界面图6-8“交换图形”运行界面程序清单如下:PrivateSubCommand1_Click()′交换图片Image3.Picture=Image1.PictureImage1.Picture=Image2.PictureImage2.Picture=Image3.PictureEndSub6.1.2形状和直线形状形状控件(Shape)用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形。通过设置Shape属性可以得到需要的图形。Shape属性设置值如下表所示:Shape属性值形状0矩形(默认值)1正方形2椭圆3圆4圆角矩形5圆角正方形直线直线控件(Line)用来画水平线、垂直线及对角线。通过设置该控件的位置、长度、颜色、宽度、线型等属性可以产生不同风格、颜色的直线。直线控件的主要属性如下:BorderStyle:用于设置属性的类型,它的属性设置如下表:BorderStyle属性值线型0透明线1实线(默认值)2虚线(当BorderWidth为1时有效)3点线(当BorderWidth为1时有效)4点划线(当BorderWidth为1时有效)5双点划线(当BorderWidth为1时有效)6内收实线,边框的外边界就是形状的外边缘BorderWidth:用于设置线条的宽度,即线条粗细。BorderColor:用于设置线条颜色。X1、X2、Y1、Y2:用于设置直线的起点和终点。在运行时,要移动或调整直线控件大小,可以通过改变X1、X2、Y1、Y2属性来进行。例[6-3]形状控件示例。例[6-3]形状控件和直线控件绘制直方图示例。6.1.2图形方法图形控件主要用来显示图形和进行简单的图形绘制,如果要实现高级绘图功能,则需要采用图形方法。画点方法Pset方法用于在指定位置以指定颜色画点。格式如下:[对象名].Pset[step](x,y)[,颜色]其中:对象名:可以是窗体或图片框的名称,缺省为当前窗体名。Step:可选项,有该参数时,表明所画的点坐标(X,Y)是相对坐标,相对于当前坐标点(由CurrentX,CurrentY决定)而言;没有该参数时,点坐标(X,Y)是绝对坐标。颜色:点的颜色,若省略则采用对象的前景色(ForeColor)画点。颜色为RGB颜色值,如:Pset(70,70),RGB(255,255,0)′设置点为黄色Pset(70,70),BackColor′设置点为背景色例[6-5]窗体上随机画带颜色的点示例(如下图)。例[6-6]用Pset方法绘制曲线示例。画直线、矩形方法Line方法用于画直线和矩形。格式如下:[对象名.]Line[[step](x1,y1)]-[step](x2,y2)[,颜色][,B[F]]其中:对象名:可以是窗体或图片框的名称,缺省为当前窗体名。Step:可选项,有该参数时,表示坐标为相对于当前点的坐标,否则为绝对坐标。(x1,y1):可选项,起点坐标。如果省略,表示起点为(CurrentX,CurrentY)。(x2,y2):终点或右下角坐标。颜色:直线或矩形的颜色,如果省略,则使用Forecolor属性指定的颜色。B:可选项,如果有B,则以(x1,y1)为左上角坐标,以(x2,y2)为右下角坐标画矩形。F:可选项,只能在选择B参数后才能选择,有F表示矩形以矩形边框的颜色填充,否则矩形用属性Fillcolor和Fillstyle填充。例[6-7]用Line方法画三角形和矩形示例(如下图)画圆方法Circle方法用于画圆、椭圆、圆弧和扇形。格式如下:[对象名.]circle[step](x,y),radius,[color],[start],[end][,aspect]其中:对象名:可以是窗体或图片框的名称,缺省为当前窗体名。Step:可选项,有该参数时,表示坐标为相对于当前点的坐标,否则为绝对坐标。(x,y):圆、椭圆、圆弧或扇形的中心坐标。Radius:圆、椭圆、圆弧或扇形的圆半径。Color:可选项,圆、椭圆、圆弧或扇形的边框颜色。如果省略,则使用Forecolor属性指定的颜色。Start、End:可选项,指定弧的起始、终止位置,以弧度为单位,取值范围-2π~2π;Start缺省值为0(水平轴正方向),End缺省值为2π(从水平轴的正方向逆时针旋转360度);若两者为负数,则在画弧的同时还要画出圆心到弧的端点的连线。Aspect:可选项,表示纵轴和横轴的尺寸比。Aspect<1表示在x轴方向画椭圆,Aspect>1表示在y轴方向画椭圆,缺省值为1。例[6-8]用Circle方法画图示例(如下图)。6.2.1单选钮(OptionButton)和检查框(CheckBox)功能:表示“选中”和“不选”两种状态。单选钮用“●”,而检查框用“√”表示选中主要属性:Name,Caption,Value检查框Value:(数值型)•0-检查框未被选中•1-检查框被选中•2-检查框被禁止操作,显示灰色单选钮Value:(逻辑型)True-被选中False-未被选中6.2选择性控件例[6-10]用单选钮和检查框设置文本框的字体示例(如下图)。主要事件:Click因为单击时自动改变状态,故不需要编写.框架(Frame)作用:①放置一组单选钮②美观创建:建立框架→画出其它控件属性:Name、Visible、Caption、Enabled框架内的所有控件随框架一起移动、显示、消失和屏蔽。事件:click和Dblclick事件,一般不编。例[6-12]框架的应用示例(如下图)。6.2.2列表框(ListBox)和组合框(ComboBox)列表框作用:显示多个选择项,供用户选择。特征:只能从其中选择,而不能直接修改其中的内容。列表框和组合框共有的重要属性(P:可在程序中设置或引用,D:可在设计状态设置。)List:PD字符型数组,存放列表框的项目,下标是从0开始。ListIndex:P选中的项目的序号,没有项目被选定时为-1ListCount:P项目的数量,ListCount-1是最后一项的下标。Sorted:DTrue:按字母顺序排列。False:按加入先后顺序排列。Text:P列表项中被选定的内容:List1.List(List1.ListIndex)=List1.Text列表框的特有的重要属性Selected:P逻辑数组Selected(i)的值为True表示第i+1项被选中。MultiSelect0-None:禁止多项选择。1-Simple:简单多项选择。2-Extended:扩展多项选择。列表框各主要属性的值:List1.ListIndex=3(下标从0开始的)List1.ListCount=5List1.Selected(3)=True,其余为False。List1.Sorted=False,没有排序。List1.Text为“cox”,与List1.List(List1.ListIndex)相等List1列表框的主要事件Click、DblClick列表框的主要方法AddItem方法格式:列表框名.AddItem项目字符串[,位置值]该方法是将项目字符串所指定的一个项目插入到由位置值所指定的位置上。每插入一项ListCount属性值都会自动加1。位置值可以从0到ListCount-1变化。若省略位置值,则新增项目添加到列表框最后面。Clear方法格式:列表框名.Clear该方法用于清除列表框中的所有项目,此时ListCount属性值置0。RemoveItem方法格式:列表框名.RemoveItem位置值该方法将指定位置上的项目从列表框中删除,此时ListCount属性值自动减1。例[6-14]列表框项目添加和删除示例(如下图)。组合框作用:拥有文本框和列表框的功能,在列表框中列出可供用户选择的选项,当用户选定某项后,该项内容自动装入文本框中。特征:可以像文本框一样接受用户的输入,也能像列表框一样列举多个项目供用户选择。组合框的特有的重要属性Style类型Style输入下拉式组合框0能简单组合框1能下拉式列表框2不能下拉式组合框简单组合框下拉式列表框列表框的主要事件Style=0时,可响应Click、Chang和Dropdown事件。Style=1时,可响应Click、DblClick和Chang事件。Style=2时,可响应Click和Dropdown事件。组合框的主要方法AddItem对象.AddItemitem[,index]index:0~ListCount-1.每插入一项ListCount自动加1RemoveItem对象.RemoveItemindex该方法将指定位置的项目删除,同时ListCount自动减1Clear对象.Clear清除所有项目,ListCount置0例[6-15]组合框示例(如下图)。6.3滚动条作用:附在窗体上协助观察数据或确定位置,作为数据输入的工具.属性:Max:最大值(-32768~32767)Min:最小值(-32768~32767)SmallChange:用户单击滚动条两端箭头时,滑块移动的增量值.LargeChange:用户单击滚动条的空白处,滑块移动的增量值。Value:滚动条内滑块所处位置所代表的值。事件:Scroll:拖动滑块时触发。Change:滚动条内滑块位置改变时发生。例[6-17]设计一个用于设置速度的滚动条。6.4时钟控件(Timer)作用:以一定的时间间隔激发计时器事件而执行相应的程序代码。属性:Interval属性单位:ms(0.001s),0.5秒是500。Interval=0:屏蔽计时器。范围:0~65535ms,最大约65s。Enabled属性True:有效计时False:停止时钟工