资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第,8,章常用控件,II,8.1,图片框和图像框,图片框,PictureBox,控件,作用,:,显示图片,也可作为其他控件的容器,图片框具有,AutoSize,属性,Autosize,属性,True,图形框自动调整大小与图片匹配,False,图形超过图形框的部分将被剪裁掉,2,图像框,Image,使用方法与图形框相同。图像框占用更少的内存,描绘得更快。图像框内不能存放其他控件,Stretch,属性,False,图像框自动改变大小适应其中的图形,True,图形根据图像框的大小自动调整尺寸,例,本例说明图像框的,Stretch,属性对加载的图形的影响。,3,8.1.1,图片框和图像框的属性,1.CurrentX,和,CurrentY,属性,窗体位于屏幕上,而图片框和图像框位于窗体上,其坐标的参考点是不同的。窗体位置使用以屏幕为参考点的绝对坐标值;而图片框和图像框的位置使用的是以窗体位参考点的相对坐标值。而图片框和图像框的位置使用的是以窗体位参考点的相对坐标值。,该属性用来设置下一个输出的水平(,CurrentX,)或垂直(,CurrentY,)坐标。格式如下:,对象,.CurrentX=X,对象,.CurrentY=Y,例,8-1,:,在窗体上添加一个图片框,分别在窗体和图片框内显示特定信息。,Private Sub Form_Click(),在图片框中的打印,Picture1.Cls,Picture1.Print,Picture1.Print Tab(10);,图片框的第十打印位,Picture1.CurrentX=500,Picture1.CurrentY=500,Picture1.Print,在窗体中的打印,Cls,Print,Print Tab(10);,窗体的第十打印位,CurrentX=500,CurrentY=500,Print,End Sub,2,Picture,属性,.bmp,、,.ico,、,.wmf,、,.jpg,和,.gif,等,在程序运行时装入图形:,图形框,/,图像框,.Picture=LoadPicture(“,图形文件路径和名称,),删除图形框、图像框中图形,可用,图形框,/,图像框,.Picture=LoadPicture(“”),8.1.1,图片框和图像框的属性,8.1.2,图片框与图像框的区别,(1),图片框控件可以作为其他控件的容器,图像框则不可以。图片框比图像框更灵活,且适应于动态环境;而图像框仅适合于静态情况,,(2),图片框可以使用,Print,方法和绘画语句,而图像框只能使用,picture,属性则不可以使用,print,方法。,(3),图像框比图片框占用的内存少,显示速度快。,(4),图像框具有,Stretch,属性,若,Stretch,属性设置为,True,,则保持图像框自身尺寸不变,通过挤压或拉伸载入的图片,使图片装满图像框,用此属性可以实现图像的放大和缩小。,8.1.3,图片框和图像框的事件,图片框常用的事件有,Click,、,DblClick,、,Change,、鼠标事件和键盘事件,,图片框的方法与窗体几乎相同,,而图像框没有,Change,和键盘事件。,8.1.4.,图片框的方法,图片框的方法常用的有,Cls,、,Print,方法和图形方法等。,用,Cls,方法可以清除,Print,、,PSet,、,Line,、,Circle,等方法在图片框中输出的文字和图形信息,不能清除,Picture,属性中的图形,在图片框中加载的图片只能用不带参数的,LoadPicture,函数清除。,1.,单选按钮,(,OptionButton,),单选按钮以组的形式出现,允许选择一项。,8.2,单选按钮、复选框和框架,2.,复选框,(CheckBox),8.2.1,复选框和单选按钮的属性,1.Value,属性,单选按钮,:,Value,属性 表示单选按钮的状态:,True,被选定,False,未被选定,复选按钮,:value,属性,表示复选框的状态:,0 vbUnchecked,未选定,1 vbChecked,被选定,2 vbGrayed,灰色,并显示一个选中标记。,2.Style,属性,设置控件的外观是标准的文本样式,还是图形样式,当,Style,属性值为,1,时,控件的,Picture,、,DownPicture,和,DisabledPicture,属性有效,8.2.2,复选框和单选按钮的事件,单选按钮和复选框的最常用事件是,Click,事件,此时控件的,value,值会发生变化,程序代码分析(只分析除法,其它用法相同,),Private Sub Option4_Click(),除运算,A=Val(Text1.Text),B=Val(Text2.Text),If B 0 Then,判断,操作数,2,是否为,0,Text3.Text=A/B,Else,Text3.Text=,输入操作数错,End If,End Sub,例,单选按钮应用示例。用户界面如图所示。用户在“运算数,1”,和“运算数,2”,所对应的文本框中输入运算数,然后单击运算符的单选按钮,就能在“运算结果”所对应的文本框中输出运算结果。,8.3,框架,(,Frame,),具有容器功能,先建立框架,然后将各控件放置其中,框架用法示例,8.3.1,框架的属性,Caption,属性 框架上的标题文本,8.3.2,框架的事件,框架可以响应,Click,和,DoubleClick,事件,但一般不需要编写事件过程。,例,8-2,:,用两个框架区分药品的类别,用单选按钮选择不同的类别,然后再使用复选框选择具体的药品名称,被选中的药品名称用斜体表示。,8.4,数组控件,控件数组创建方法,:,第一种方法:采用“复制”“粘贴”的方法添加,第二种方法:在窗体上添加作为数组元素的各个控件,在属性窗口中逐一修改它们的,Name,属性为,相同,指定名称,例,8-3:,通过单击命令按钮输入一个碱基序列到文本框内。碱基对是形成,DNA,、,RNA,单体以及编码遗传信息的化学结构,组成碱基对的碱基包括,A,、,G,、,T,、,C,、,U,。,Private Sub Command1_Click(Index As Integer),Select Case Index,Case 0,Text1=Text1&Command1(0).Caption,Case 1,Text1=Text1&Command1(1).Caption,Case 2,Text1=Text1&Command1(2).Caption,Case 3,Text1=Text1&Command1(3).Caption,Case 4,Text1=Text1&Command1(4).Caption,End Select,End Sub,8.5,定时器,定时器以一定的时间间隔产生,Timer,事件,属性,Enabled,为,False,时定时器不产生,Tick,事件,Interval,触发,Timer,事件的时间间隔,(,ms,),事件,定时器控件只有一个,Timer,事件,产生,Timer,事件条件,Enabled=True;Interval0,8.5.1,主要属性,1.Enabled,属性,Enabled=false,时,定时器不产生,timer,事件,2.Interval,属性,该属性决定两个,timer,事件之间的时间间隔,以,ms,(,0.001s,)为单位,若该属性值为,0,则不产生,timer,事件,8.5.2,计时器的事件,只有,Timer,事件,每经过一个由,Interval,属性指定的时间间隔就触发一次,Timer,事件。,例,8-4,:,设计一个具有简单动画效果的程序。,Private Sub Form_Load(),窗体加载,Image1.Picture=LoadPicture(“,G:,黑蝴蝶,.jpg,),Image1.Top=Me.Height-Image1.Height ,图像框定位,Image1.Left=0,End Sub,Private Sub Timer1_Timer(),定时器事件,Dim x As Integer,y As Integer,x=Image1.Left+200 ,设置图像框的新位置参数,(,向右上,),y=Image1.Top-100,If x Me.Width Or y 0 Then ,若新位置移出窗体则回到初始位置,x=0,y=Me.Height-Image1.Height,End If,Image1.Move x,y ,移动图像框到新位置,End Sub,例,8-5,:,编写倒计时器程序。请编制一个以分钟为时间段的倒计时器。,Dim t%,Private Sub Form_Load(),Timer1.Enabled=False,Timer1.Interval=1000,End Sub,Private Sub Command1_Click(),t=60*Val(Text1),Timer1.Enabled=True,End Sub,Private Sub Timer1_Timer(),Dim m%,s%,t=t-1,m=t 60,s=t Mod 60,Label4=m&,分,&s&,秒,If t=0 Then,Timer1.Enabled=False,MsgBox,时间到,!,End If,End Sub,8.6,滚动条,滚动条,(ScrollBar),通常附在窗体上协助观察数据或确定位置,也可作为数据输入工具。,滚动条有水平和垂直两种,滚动条属性,Value,滑块当前位置的值,(,缺省为,0),Min,滑块最小位置值,最左边最上边,(,缺省为,0),Max,滑块最大位置值,SmallChange,单击滚动条两端的箭头时,,Value,属性,(,滑块位置,),改变值,LargeChange,单击滚动条的空白区域时,,Value,属性改变值,滚动条事件,Scroll,当拖动滑块时触发,Changed,改变,Value,属性时触发,Changed,事件和,scroll,事件的差别,:,当拖动滑块时触发,scroll,事件,滚动条内滑块位置变化(改变,value,值)时触发,changed,事件,Scroll,事件用于跟踪滚动条中的动态变化,,Change,事件则用来得到滚动条的最后值。,例,8-6:,设计一个文字移动程序。每隔,1,秒钟,带有文字的标签水平向右移动一段距离,文字移动的速度由水平滚动条调节,当文字移动到窗体的右边时,立刻返回到最左边;通过一个垂直滚动条调节文字的大小。,例题,:设计一个使用滚动条改变颜色的程序,8.7,列表框和组合框,列表框和组合框实质是,一维字符串数组,的使用,列表框,(,listbox,)可显示多个选项供用户选择,不能直接修改其中的内容。,本章目录,组合框,(,ComboBox,),将文本框和列表框的功能结合在一起,既具有文本框的输入功能,又具有列表框的选择功能。,下拉式:用户可以直接在文本框键入内容,也可以单击下拉箭头选择,简单组合:列出所有项目供用户选择,没有下拉箭头,列表框不能收起,下拉列表框:不允许输入,只能选择,2,列表框和组合框重要属性,(1),List,List,是一个集合,(2),ListIndex,选项的序号,(,从,0,开始,),(3),ListCount,项目数量,(4),Sorted,排序,(5),Text,被选定的文本内容,(6),multiselct,确定列表框是否允许多选,0None,,表示列表框是单选列表框,一次只能选择一项,1Simple,,表示列表框是复选列表框,,2Extended,表示列表框类似于“资源管理器”,可用,Shift,鼠标单击(连续多选)、,Ctrl,鼠标单击(不连续多选)等来进行复选。,(7),Selected,属性,该属性用来设置或返回列表框中某项目的选择状态。,(8),Columns,属性,Columns=0,,并具有垂直滚动条。当希望使用多列列表框时,设置,Columns,为大于,0,的值,表示具有若干列和水平滚动条。,List1.ListIndex,=2,List1.ListCount,=6,List1.Sorted,=False,List1.Text,为,C/C+,程序设计,List1.List,(,List1.ListIndex,),等于,List1.Text,2,、常用方法,AddItem,方法 把一个项目加入列表,对象,.AddItem,项目字符串,索引值,索引值:决定新增项在列表中的位置,如果省略,则新增项目添加在最后。,RemoveItem,方法 删除列表中指定项目,对象,.RemoveItem,索引值,Clear,清除列表中所有项目,例如:,List1.Clear,全部清除,3,、重要事件,列表框:,Click,、,DblClick,组合框:,Click,例,8-7,:,使用列表框控件的基本操作举例。要求在,Form_Load(),事件中利用,AddItem,方法对列表添加若干项目。选定某项时,项目内容和下标在下方的标签内显示。“添加”按钮,将文本框内的项目添加到列表框最后。“删除”按钮,删除选定的项目。“清空”按钮,清空列表框的所有项目。,8.7.3,主要事件,列表框,的主要事件是,Click,事件和,DblClick,事件。,Click,事件在单击选择一个项目时被触发,,DblClick,事件在双击一个项目时被触发。,在,Click,事件过程中有代码,则不会触发,DblClick,事件。在通常的操作中,单击一个项目后再配合一个确认按钮来表示选中;而双击一个项目则往往表示直接选中。,组合框,的主要事件是,Click,事件。当,Style,1,时,支持,DblClick,事件。,例,8-8,:,组合框运用示例。程序运行后,用户输入学生的姓名,根据组合框提示选择性别、专业和外语种。按“确定”按钮后将学生的这些基本信息写入下方的文本框中。,
展开阅读全文