ACTIVE控件属性的设置.ppt

上传人:max****ui 文档编号:3384977 上传时间:2019-12-13 格式:PPT 页数:45 大小:438.50KB
返回 下载 相关 举报
ACTIVE控件属性的设置.ppt_第1页
第1页 / 共45页
ACTIVE控件属性的设置.ppt_第2页
第2页 / 共45页
ACTIVE控件属性的设置.ppt_第3页
第3页 / 共45页
点击查看更多>>
资源描述
6.1控件概述,6.3框架,6.2单选按钮和复选框,6.5滚动条与滑块,6.6计时器,第6章常用控件,6.6鼠标器和键盘,6.4列表框和组合框,结束,6.1控件概述,1.标准控件标准控件是由Visua1Basic本身提供的。例如,文本框、命令按钮和框架等都是标准控件(或称内部控件)。2.ActiveX控件ActiveX控件是扩展名为.ocx的独立文件,其中包括Visua1Basic各种版本都提供的控件(如DataCombo和DataList等)ActiveX控件必须添加到工具箱中才能使用。,3.可插入的对象可插入的对象通常都是OLE对象。由其它应用程序创建的不同格式的数据,如MicrosoftExcel工作表对象和MicrosoftProject日历对象等都是可插入对象。这些对象可以被添加到工具箱中并在窗体中使用。使用可插入对象,就可以在Visua1Basic中编程控制其它应用程序的对象。,6.2单选按钮和复选框,1.单选按钮和复选框的重要属性,2.单选按钮和复选框的主要事件,6.2.1单选按钮和复选框的重要属性,(1)Alignment属性0(缺省值)文本是左对齐的,控件是右对齐的。1文本右对齐,控件左对齐。(2)Value属性单选按钮:Value=True,表示单选按钮被选中;Value=False默认设置,表示单选按钮不被选中。复选框:Value=0,默认设置,表示复选框不被选中;Value=1,复选框被选中;Value=2,复选框为灰色,表示禁止用户选择。(3)Style属性Style=0,标准方式;Style=1,图形方式(参见图6-5)。,图6-2-1复选框(左)和单选按钮(右),(a)复选框和单选按钮(未选中状态)(b)复选框和单选按钮(选中状态)图6-2-2图形方式的单选按钮和复选框,6.2.2单选按钮和复选框的主要事件,单选按钮和复选框可以接受的事件主要有click事件。但往往并不需要编写其事件过程。因为单击时,它们自动改变状态。,例6-2:用复选框和单选按钮控制文本框中输入的字体。(1)界面设计本程序采用如图6-6所示界面。包括两个标准形式的单选按钮,两个图形方式的复选框,一个文本框(设计时已经输入文字,字体三号),一个Picture图片框,用于显示文本框中文本的字体),一个Command命令按钮用于切换字体。各控件的属性见表6-2。,图6-2-3复选框和单选按钮的应用,表6-2控件属性,PrivateSubCheck1_Click()Text1.FontBold=IIf(Check1=1,True,False)“粗体”复选框是否按下(选中)EndSubPrivateSubCheck2_Click()Text1.FontItalic=IIf(Check2=1,True,False)“斜体”复选框是否按下(选中)EndSubPrivateSubOption1_Click()Text1.FontUnderline=IIf(Option1,True,False)“下划线”单选按钮是否选中EndSubPrivateSubOption2_Click()Text1.FontStrikethru=IIf(Option2,True,False)“删除线”单选按钮是否选中EndSubPrivateSubCommand1_Click()StaticI声明变量DimOldFontPicture1.ClsOldFont=FontName保留原来的字体。Text1.FontName=Screen.Fonts(I)改变到新的字体。I=I+1计数器增一。IfI=FontCountThenI=0重新开始。FontName=OldFont恢复原来的字体。Text1.FontBold=IIf(Check1=1,True,False)“粗体”复选框是否按下(选中)Text1.FontItalic=IIf(Check2=1,True,False)“斜体”复选框是否按下(选中)Text1.FontStrikethru=IIf(Option1,True,False)“下划线”单选按钮是否选中Text1.FontStrikethru=IIf(Option2,True,False)“删除线”单选按钮是否选中Picture1.PrintText1.FontNameEndSub,6.3框架,框架(Frame)控件可以用来对其他控件进行分组,以便于用户识别。为了将控件分组,首先需要绘制框架,然后绘制框架里面的控件。如果需要对窗体上已有的控件进行分组,可以选中需要放入框架中的控件,然后采用“编辑”菜单的“剪切”命令将控件剪切到剪贴板中,再选中框架,单击“编辑”菜单的“粘贴”命令将选中的控件放入框架中。如果要将框架内的控件移动到框架之外,也只能采用“剪切”和“粘贴”的方法。框架的主要属性有Name、Caption、Enable、Visible等。Caption为框架的可见文字部分,如果省略,则框架形式上如同一个封闭的矩形框。当框架的Enable属性为False时,框架内的所有控件都将屏蔽,用户无法对其操作,此时框架的标题(Caption)为灰色。当框架的Visible属性为False时,框架及其内部的所有控件都将隐藏起来。,6.4列表框和组合框,列表框(ListBox)控件显示项目列表,用户从其中可以选择一项或多项。列表框的默认名为ListX,组合框的默认名为ComboX(X=1,2,。)。列标框和组合框的图标参见图6-7。组合框(ComboBox)控件将文本框(TextBox)控件和列表框控件的特性结合在一起既可以在控件的文本框部分输入信息,也可以在控件的列表框部分选择一项。组合框有三种风格:下拉式组合框、简单组合框和下拉式列表框。,用户可以通过单击列表框或组合框中的某一项来选择所需选项,也可以在组合框中输入自己的选项(即使输入的内容并不包含在列表中),但是只能在列表框中进行选择,这是列表框和组合框的最大区别。,6-4-1列表框组合框图标,1.列表框和组合框的重要属性,(1)List属性,List属性用来存放列表框和组合框列表部分的选项。列表是一个字符串数组,数组的每一项都是一列表选项,对列表框和组合框控件在设计时可以通过属性窗口进行设置,也可以在运行时进行读写。其语法为:,.List()=,(2)ListIndex属性,ListIndex属性用来存放控件中当前选择项目的索引,在设计时不可用。如果未选定项目,则ListIndex属性值是1。对于ComboBox控件,表示用户向文本框部分输入了新文本。,(3)Sorted属性,Sorted属性决定控件的元素是否自动按字母表顺序升序排序。Sorted属性值为True,则选项按字母顺序升序排列,否则按输入的顺序排列。,(4)Text属性,对下拉组合框和简单组合框控件,表示编辑域中的文本,该文本可以从列表中选择或从键盘输入。,对下拉列表框和列表框控件,表示在列表中选择的选项,返回值总与表达式List(ListIndex)的返回值相同。Text属性只能在程序中设置,为只读属性。,2.列表框特有的重要属性,(1)MultiSelect属性,MultiSelect属性用来设置在列表框控件中进行复选以及如何进行复选。在运行时是只读的。,MultiSelect属性值在0、1、2之间选择。,MultiSelect属性值=0:(缺省值)不允许复选。,MultiSelect属性值=1:简单复选。鼠标单击或按下空格键,在列表中选中或取消选中项。使用箭头键移动焦点。,MultiSelect属性值=2:扩展复选。按下SHIFT并单击鼠标或按下SHIFT以及一个箭头键(上箭头、下箭头、左箭头、右箭头)将在以前选中项的基础上扩展选择到当前选中项。按下CTRL并单击鼠标在列表中选中或取消选中项。,(3)SelCount属性,SelCount属性返回在列表框控件中被选中项的数量。,如果没有选项被选中,那么SelCount属性将返回0值。,(4)Style属性,Style属性控制列表框的外观。,Style属性值=0:默认值,不带复选框,单击选项即可选中。,Style属性值=1:带复选框,必须在选项左边的复选框(小方框)中出现小对钩时才可选中。,列表框名.Selected()=,Selected属性值为一个逻辑数组,其中的每个元素对应列表中的一项,表示列表框控件中的一个项的选择状态。当数组元素值为True时,对应项被选中,否则没有选中。在设计时不可用。Selected属性的语法为:,(2)Selected属性,3.组合框特有的重要属性,对于组合框控件,Style属性值可以为0,1和2。Style属性值=0:缺省值,此时组合框称为下拉式组合框。包括一个下拉式列表和一个文本框。只有在单击文本框右边的下拉按钮时才可见下拉式列表框。可以从列表选择或在文本框中输入。Style属性值=1:此时组合框称为简单组合框。包括一个文本框(文本框的右边无下拉按钮)和一个不能下拉的列表框。可以从列表中选择或在文本框中输入用户的选择(可以是列表中没有的内容)。Style属性值=2:此时组合框称为下拉式列表框。这种样式仅允许从下拉式列表中选择。,4.列表框和组合框的常用方法,(1)AddItem方法,AddItem方法用于将项目添加到列表框或组合框控件,其语法为:,.AddItem,,(2)Clear方法,Clear方法用于清除列表框或组合框或系统剪贴板的内容。其语法为:,.Clear,(3)RemoveItem方法,RemoveItem方法用以从列表框或组合框中删除一项。其语法为:,.RemoveItem,5.列表框和组合框的常用事件,列表框和组合框的常用事件有Click事件、DblClick事件、Dropdown事件等。其中只有简单组合框(Style=1)才能响应Dbllick事件。另外,下拉式组合框和简单组合框具有Change事件(在输入文本时响应事件)。在大多数情况下,都是在用户选择项目后,读取列表框或组合框的Text属性。,例6-4-1:建立两个列表框,分别为可购商品列表框和顾客购物列表框。要求程序能够完成商品选购、撤消选购、添加新商品、删除现有商品、统计全部选购的商品价格等操作。(1)界面设计如图6-4-2所示,在窗体上添加的2个框架、两个列表框、5个命令按钮。除列表框外其余控件的Caption属性见表6-4。,表6-4控件属性,图6-4-2运行界面,PrivateSubCommand1_Click()IfList1.ListIndex-1ThenList1_DblClick选中某个选项后,调用List1_DblClick事件EndSubPrivateSubCommand2_Click()IfList2.ListIndex-1ThenList2.RemoveItemList2.ListIndex选中List2中某个选项后,将其删除EndSubPrivateSubCommand3_Click()newlist=InputBox(输入新商品)从对话框中输入新商品名List1.AddItemnewlist添加到List1中EndSubPrivateSubCommand4_Click()IfList1.ListIndex-1ThenList1.RemoveItemList1.ListIndex选中List1中某个选项后,将其删除EndSubPrivateSubList1_DblClick()双击List1时给List2列表框添加项目Dimk%,yandn%k=0Fori=0ToList2.ListCount1IfList2.List(i)=List1.TextThenk=1判断List2列表框中是否已有选定项目NextIfk1ThenList2.AddItemList1.TextList2列表框中无选定项目则添加Elseyandn=MsgBox(是:重复,否:不重复,vbInformation+vbYesNo,重复输入)Ifyandn=6ThenList2.AddItemList1.Text同意重复选择时也可以添加EndIfEndSub,例6-4-2:将框架的应用实例进行改善,用列表框或组合框列出各电脑配件的选项供用户选择。用户每选择一项,将在“用户配置”组合框中添加对应的选择项,单击“求总价”按钮将在Picture1图片框中显示总价格。,(1)界面设计设计如图6-4-3所示界面,有9个框架,“CPU”框架和“显示器”框架为列表框,其余为组合框。每个框架中有一个列表框或组合框,框架的Capion属性值、列表框或组合框的名称相同,分别为各类配件的名称。列表框和组合框的种类见图示。(设计时组合框的Text属性为相应组合框的名称),图6-4-3列表框和组合框的应用,(2)编写事件过程代码Dimcpupri,dypri,hdpri,mbpri,grapri,mempri,cdpri,othpri,realpriAsSingleDimmycpu!,mydy!,myhd!,mygra!,mymb!,mymem!,mycd!,myoth!PrivateSubForm_Load()cpupri=Array(1000,1100,1200,1300,1400)cpupri为存放CPU价格的数组同样用Array函数为其他存放各配件价格的数组dypri、hdpri、mbpri、grapri、mempri、cdpri赋值EndSubPrivateSubCommand1_Click()用户配置.AddItemcpu.Text,0:用户配置.AddItem光驱.Text用户配置.AddItem内存.Text:用户配置.AddItem其他.Text用户配置.AddItem显卡.Text:用户配置.AddItem显示器.Text用户配置.AddItem硬盘.Text:用户配置.AddItem主板.Textrealpri=mycpu+mydy+myhd+mygra+mymb+mymem+mycd+myoth求总价格Picture1.Print总价=;realpriEndSubPrivateSubcpu_Click()mycpu=cpupri(cpu.ListIndex)mycpu存放所选择的CPU价格EndSub,6.5滚动条,滚动条(ScrollBar)控件通常用来帮助观察数据或确定位置,同时也可以作为数据输入的工具。,6.5.1滚动条的重要属性,1.Value属性Value属性表示滚动框在滚动条中的位置,用整数表示,其取值范围为-3276832767。2.Max属性Max属性表示滚动条所能够代表的最大值,其取值范围为-3276832767。,3.Min属性Min属性表示滚动条或滑块所能够代表的最小值,其取值范围为-3276832767。4.SmallChange属性SmallChange属性表示当用户单击滚动条两端箭头时,滚动框移动的增量值。对滑块控件,可以用左、右箭头进行控制。5.LargeChange属性LargeChange属性表示当用户单击滚动条或滑块中的空白处时,滚动框或滑快移动的增量值。对滑块控件,还可以用PageUp和PageDown键控制。,6.5.2滚动条的事件,与滚动条有关的事件主要是Scroll和Change事件。只有拖动滚动框才响应Scroll,而通过单击滚动箭头或滚动条则不会发生Scroll事件。只要滚动框的位置发生改变,就触发Change事件。,6.6计时器,计时器(Timer)控件是在应用程序中用来处理按一定时间间隔(Interval)触发事件的控件。在运行时不可见。计时器的属性不多,其重要的属性为Interval属性。计时器只有一个事件,即Timer事件。在VB中,可以用Timer函数获取系统时钟的时间。而Timer事件是VB模拟实时计时器的事件,不能将两者混淆。Timer事件的一般语法格式为:PrivateSub_Timer()只要Timer控件的Enabled属性被设置为True而且Interval属性值大于0,则Timer事件以Interval属性值指定的时间间隔发生。,例6-6-1:利用计时器实现气球升空。在窗体上添加两个图片框控件Picture1Picture2,两个计时器Timer1、Timer2,令Interval1=10,Interval1=20,在Windows附件的“画图”程序中绘制几个气球,分别复制到两个图片框中。程序代码为:PrivateSubTimer1_Timer()Picture1.Top=Picture1.Top10气球上升IfPicture1.Top0ThenPrint正确率为:m&次EndIfEndSub,图6-7-2指法测试程序界面,PrivateSubForm_KeyPress(KeyAsciiAsInteger)m=m+1总击键数增1IfChr(KeyAscii)=Label1.CaptionThenLabel1.Caption=:n=n+1击键正确,正确击键数增1IfChr(KeyAscii)=Label2.CaptionThenLabel2.Caption=:n=n+1并清空标签IfChr(KeyAscii)=Label3.CaptionThenLabel3.Caption=:n=n+1EndSubPrivateSubTimer1_Timer()RandomizeIfLabel1.Caption=Then击键正确后产生新字符并将标签移到窗体底部,随机产生小写的英文字母Label1.Top=Form1.Height-Label1.Height:Label1.Caption=Chr(CInt(Rnd*26+97)ElseLabel1.Top=Label1.Top-10EndIfIfLabel2.Caption=ThenLabel2.Top=Form1.Height-Label2.Height:Label2.Caption=Chr(CInt(Rnd*26+97)ElseLabel2.Top=Label2.Top-10EndIfIfLabel3.Caption=ThenLabel3.Top=Form1.Height-Label3.Height:Label3.Caption=Chr(CInt(Rnd*26+97)ElseLabel3.Top=Label3.Top-10EndIfIfLabel1.Top=0ThenLabel1.Top=Form1.Height-Label1.Height标签移动到窗体顶部后IfLabel2.Top=0ThenLabel2.Top=Form1.Height-Label2.Height重新回到底部IfLabel3.Top=0ThenLabel3.Top=Form1.Height-Label3.HeightEndSubPrivateSubTimer2_Timer()Command1_Click时限到,调用“结束”事件过程EndSub,6.7.3拖放,拖放(draganddrop)是一种将一个对象(称为源对象)拖到另一个对象(称为目标对象)上执行某种操作的功能。要拖动一个对象,可单击该对象,按住鼠标键,然后移到指定的新位置释放鼠标放下对象。,1.DragMode属性,拖放的形式有两种,DragMode属性为1时为自动拖放,DragMode属性为0时为手工拖放。,2.DragIcon属性DragIcon属性用于改变拖动图标。拖动控件时,VisualBasic将控件的灰色轮廓作为缺省的拖动图标。对DragIcon属性进行设置,就可用其它图象代替该轮廓。设置DragIcon属性的最简单方法就是使用属性窗口。,3.Drag方法采用手动拖放方式时,必须使用Drag方法来启动拖动操作。不过,在自动拖放方式下,也可以使用Drag方法。Drag方法的语法为:对象名.Dragaction,例6-7-3-1:将图片框控件拖放到准确的位置。(1)界面设计在新建工程的Form1窗体上添加一个图片框控件Picture1,任意设置一个Picture属性值。将Picture1的DragMode设置为1。(2)编写代码,(a)拖放前,(b)拖放到任意位置,图6-7-3-1拖放图片,DimX0AsSingle,Y0AsSinglePrivateSubForm_DragDrop(SourceAsControl,XAsSingle,YAsSingle)Source.Move(X-X0),(Y-Y0)EndSubPrivateSubLabel1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Label1.Drag1启动控件拖放X0=X:Y0=YEndSub,4.DragDrop事件和DragOver事件,在拖动对象经过某个对象时,该对象发生DragOver事件,拖动对象并在某个对象上释放鼠标按钮时,该对象发生DragDrop事件。可用多种方法响应DragDrop事件和DragOver事件。DragDrop事件和DragOver事件的语法为PrivateSub_DragDrop(SourceAsControl,XAsSingle,YAsSingle)PrivateSub_DragOver(SourceAsControl,XAsSingle,YAsSingle,StateAsInteger),例6-7-3-2:下面的程序将控件拖动到Picture2图片框控件上时,判断拖动的控件类型,如果是图片框,则将其图片在Picture2上显示,并在窗体的标题内显示拖动控件的类型。当拖离Picture2时,清除Picture2中的图片,恢复窗体标题栏的名称(设计时窗体标题为“拖放”)。参见图6-27。PrivateSubPicture2_DragOver(SourceAsControl,XAsSingle,YAsSingle,StateAsInteger)IfTypeOfSourceIsPictureThenPicture2.Picture=Source.PictureIfState=1ThenForm1.Caption=拖放:Picture2.Picture=LoadPicture()ElseForm1.Caption=这是&TypeName(Source)&控件EndIfEndSub,图6-7-3-2拖放实例,5.Parent属性,控件作为参数Source传递给过程后,Source就继承了控件的的属性和方法,包括控件的Parent属性,即控件所在窗体,因而可以对控件所在窗体进行各种操作。,如上面的程序中的语句:Form1.Caption=拖放Form1.Caption=这是&TypeName(Source)&控件可以改为:Source.Parent.Caption=拖放Source.Parent.Caption=这是&TypeName(Source)&控件,例6-7-3-3:跳棋游戏。如图6-7-3-3所示,红绿两种颜色的棋子(每种棋子数量相等,可以同时增减),要经过空格(白格)交换位置,当不同颜色的两个棋子相邻时,可以通过相邻的棋子跳到空格上,用最少步数完成交换者胜。编程实现行棋过程。,PrivateSubLabel1_DragDrop(IndexAsInteger,SourceAsControl,XAsSingle,YAsSingle)IfLabel1(Index).BackColor=&HFFFFFFThen控件为白色吗?IfAbs(Source.Index-Index)=2AndLabel1(Index+Source.Index)/2).BackColorSource.BackColorThen被拖放的控件与发生DragDrop事件过程的控件相隔一个控件,且与相隔控件不同色a=Label1(Index).BackColorLabel1(Index).BackColor=Source.BackColorSource.BackColor=aEndIfIfAbs(Source.Index-Index)=1Then被拖放的控件与发生DragDrop事件过程的控件相邻a=Label1(Index).BackColorLabel1(Index).BackColor=Source.BackColorSource.BackColor=aEndIfEndIfEndSub,(a)移动前(b)移动,图6-7-3-3跳棋游戏,6.7.4OLE拖放使用拖放可以将控件移动到其他地方。而采用OLE拖放,则可以将数据从一个控件或应用程序移动到另外的控件或应用程序中,如将写字板中的文本拖动到文本框中。,实例6-7-4-1:下面的程序实现如下功能(参见图6-7-4-1):将Word中的文本采用拖动的方法复制到中间文本框中;将文本框的内容逐行拖放到左边List1列表框中;将文本框的内容一次拖放到下边的List2列表框中;将下边List2列表框的内容拖放到右边的Label1标签上。(1)界面设计(2)编写代码PrivateSubList1_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)List1.AddItemData.GetData(vbCFText)系统将拖出的数据放在Data对象中,利用Data对象的GetData方法获取其中的文本数据,利用List1控件的AddItem方法将数据添加到其List属性中EndSubPrivateSubList2_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)List2.AddItemData.GetData(vbCFText)EndSubPrivateSubLabel1_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Label1.Caption=Data.GetData(vbCFText)EndSub,图6-7-4-1OLE拖放实例,例6-7-4-2:下面的程序使用手动方式从Windows的“我的电脑”中选择一个文件或文件夹拖动到窗体上,在窗体上显示文件或文件夹名。PrivateSubform_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)PrintData.Files(1)EndSub程序运行实例参见图6-7-4-2。,图6-7-4-2OLE拖放,本章结束,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!