收藏 分销(赏)

VBA控件技术基础第三分册.pdf

上传人:曲**** 文档编号:13304455 上传时间:2026-02-26 格式:PDF 页数:67 大小:8.08MB 下载积分:12 金币
下载 相关 举报
VBA控件技术基础第三分册.pdf_第1页
第1页 / 共67页
VBA控件技术基础第三分册.pdf_第2页
第2页 / 共67页


点击查看更多>>
资源描述
控件使用系列之VBA控件技术基础(第三分册)主要内容 ImageList 控件 ImageCombo 控件 TreeView 控件目录第1章概述.-1-1.1 非标准的ActiveX控件的作用.-1-1.2 如何添加ActiveX控件.-1-1.3 控件的使用.-2-1.4 本分册所介绍的控件.-3-1.5 注意事项.-4-第 2 章 ImageList控件介绍.-5-2.1 ImageList 控件简介.-5-2.2 在 VBA 中使用 ImageList 控件.-62.3 ImageList控件使用示例.-6-2.3.1 准备工作.-62.3.2 示例一:添加 Listimage对象的方法(一).-7-2.3.3 示例二:添加Listimage对象的方法(二).-8-2.3.4 示例三:创建组合图像.-10-第 3 章 ImageCombo 控件介绍.-13-3.1 添力口 ImageCombo 控件.-13-3.2 ImageCombo 控件简介.-14-3.2.1 ImageCombo控件与复合框”控件.-14-3.2.2 ImageCombo 控件属性参考.-15-3.2.3 ImageCombo 控件方法参考.-153.2.4 ImageCombo 控件事件参考.-15-3.3 ImageCombo 控件的使用.-16-3.3.1 可能的用途.-163.3.2 ImageCombo 控件的应用及示例.-16-示例一向ImageCombo中添加项目(1).-16-示例二向ImageCombo中添加项目(2).-17-示例三设置项目的图片.-18-示例四选中的项目图像.-19-示例五获取选中的项目文本(Selectedltem属性).-20-示例六选择列表项并显示所选项(来自).-21-示例七 一个综合示例.-23-第 4 章 Tree View 控件介绍.-27-4.1 添力口 Tree View 控件.-27-4.2 Tree View 控件概述.-28-4.2.1 常用属性.-28-4.2.2 常用方法.-29-4.2.3 常用事件.-304.3 Tree View 控件的使用.-30-示例一Tree View控件常用方法、属性和事件示例(1).-30-示例二Tree View控件常用方法、属性和事件示例(2).-39-示例三Tree View控件的基本使用(By Ken Puls).-43-示例四自动创建树状图形(Add方法示例).-46-I示例五Tree View控件和复合框组合使用示例六控件综合使用示例.-47-48-示例七综合示例制作省市树形图(根据一个VB示例修改整理).53-示例八改变背景色.-60-其它示例.-61-n说明本分册为VBA控件技术基础的第三分册,主要讲述了三个非标准的ActiveX控件-ImageList控件、ImageCombo控件和TreeView控件的基本技术及使用。此外,本 分册所介绍的控件,均为在VBE编辑器的用户窗体中使用的控件。本分册内容是在学习VBA控件过程的基础上归纳整理而成,所有程序代码均在Excel 2003中调试通过。学习时若有疑问,请在下面列出的两个站点的相关主题中提出。由于初 次整编电子书,有什么好的建议和意见,也请在站点中提出。本分册的示例文档和代码均可在下面列出的两个站点中下载。相关站点:ExcelHome论坛-Office图书品评http:fanjy的博客http:第1章概述前面的第一分册和第二分册介绍了标准的ActiveX控件技术,本分册将开始介绍非标 准的ActiveX控件技术。这里所指的标准的ActiveX控件,是指缺省情况下“控件工具箱”中提供的控件,即标签、文字框、复合框、列表框、复选框、选项按钮、切换按钮、框架、命令按钮、TabStrip,多页、滚动条、旋转按钮、图像、RefEdit等控件。而这里指的非标 准的ActiveX控件,则是指通过“附加控件”命令所添加到工具箱中的控件。1.1 非标准的ActiveX控件的作用大家知道,应用程序设计的一个重要内容是其界面设计,界面设计的好坏直接影响到 应用程序的功能和使用。虽然已经提供了很多标准的ActiveX控件可以用来进行界面设计,但仍无法满足一些特定的需求。而一些非标准的ActiveX控件则弥补了标准控件的不足,可以用来设计出元素丰富的界面效果来,且与标准的控件一样,使用简单方便。ActiveX控件实际上是一组可以重复使用的代码的集成,利用这些控件,可以编写出 简洁的代码,实现用户所需求的不同功能。1.2 如何添加ActiveX控件要使用非标准的ActiveX控件,必须先将其添加到控件工具箱中。添加ActiveX控件 很简单,只需在控件工具箱中单击鼠标右键,从弹出的快捷菜单中选择“附加控件”命令,如图1.1所示。工具箱件 AQUI 311 控 abl噩(?=M0国诵加控件。).一=疝除项目自定义.项目-图1.1:在控件工具箱中单击右键,弹出快捷菜单。此时,出现如图1.2所示的“附加控件”对话框。-1-VBA控件技术基础(3)附加控件可用控件&):Microsoft Help 2.0 Index Control Microsoft ImageComboBox Control?ve Microsoft ImageList Control,versiolicrosoft ImageList Control,ver si c Microsoft Microsoft Microsoft Microsoft Microsoft Microsoft MicrosoftInkEdi t Control InkPicture Control ListView Control,version ListView Control,version MonthView Control 6.0(SP Office 12.0 EawfCtrl Office Chart 10.0Microsoft ImageList Control,version 6.0位置确定取消显不r只显示所选项)C:WINB0WSsystem32MSC0MCTL.OCX图1.2:“附加控件”对话框在该对话框中,列出了当前计算机中可以使用的所有控件。只需选中相应控件前面的 复选框,该控件就会出现在控件工具箱中,以供界面设计使用。例如,如图1.2所示,选 中Micros ImageList Control,version 6.0”前的复选框后,单击“确定,此时,控件工 具箱中将添加了一个新的ImageList控件,如图1.3所示。件 A 国|7=1二ilra 控abl噩cnqz国日添加的及件图1.3:在“附加控件”对话框中选取要添加的控件,单击“确定”后,该控件被添加到工具箱中。1.3 控件的使用当控件添加到工具箱中后,应可以像标准的ActiveX控件一样进行使用了。-2-概述1.4本分册所介绍的控件本分册将介绍三个常用的控件,即ImageList控件、ImageCombo控件和TreeView 控件,ImageList将作为一个图像存储器,为其它控件提供图片资源;ImageCombo控件 提供了带图片的复合框;而TreeView控件则可以创建树形图。如图1.4、图1.5和图1.6 所示。附加控件可用控件):因 Microsoft 区 Microsoft 冈 Microsoft MicrosoftForms 2.0 TabStripForms 2.0 TextBoxForms 2.0 ToggleButtonHelp 2.0 Contents Control取消 Mierosot Hglp 2.0 1nde%CoptrolMicrosoft ImageComboBox Control,ve Mier o s。坦工 sio Microsoft InkEdit Control Microsoft InkPicture Control Microsoft ListView Control?version v显示厂只显示所选项):-)VideoSoft FlexArray?;Control位置C:WIBD0WSsystem32VSFLEX3.OCX图1,4:选取ImageList控件和ImageCombo控件。确定.图15 选取TreeView控件。-3-VBA控件技术基础(3)TreeVi e-控件I.yCgbo 控件工geList控件图1.6:在“附加控件”对话框中所选取的控件,显示在工具箱中。这三个控件是本分册所讲解的控件。1.5注意事项使用非标准的ActiveX控件,必须确保该控件已在计算机中。使用含有非标准的 ActiveX控件的程序,必须确保用户的计算机中已装载该控件。例如,TreeView控件是COMCTL32.OCX文件中一组ActiveX控件的一部分。为了 在应用程序中使用TreeView控件,必须将COMCTL32.OCX文件添加到工程中。在发布 应用程序时,要在用户的Microsoft Windows System或System32目录中安装 COMCTL32.OCX 文件。-4-第2章ImageList控件介绍2.1 ImageList控件简介ImageList控件是包含Listimage对象的集合,可以通过索引(index)或者关键字(key)引用该集合中的每个对象。ImageList控件不能独立使用,只作为一个向其它控件提供图 象的资料中心。ImageList控件的作用像图像的储藏室,同时,它需要第二个控件显示所储存的图像。第二个控件可以是任何能显示图像Picture对象的控件,也可以是特别设计的、用于绑定 ImageList 控件的 Windows 通用控件之一。这些控件包括 ListView、IbolBar、TabStrip Header、ImageCombo、和TreeView控件。为了与这些控件一同使用ImageList,必须 通过一个适当的属性将特定的ImageList控件绑定到第二个控件。对于ListView控件,必 须设置其 Icons 和 Smalllcons 属性为 ImageList 控件。对于 TreeView、TabStrip lmageCombo 和 Ibolbar 控件,必须设置 ImageList 属性为 ImageList 控件。一旦ImageList与某个Windows通用控件相关联,就可以在过程中用Index属性或 Key属性的值来引用Listimage对象。可以用Add方法给Listimages集合添加图象。然后Windows通用控件可以用 ImageList属性指定一个ImageList控件。当与Windows通用控件一起使用ImageList控件时,在将它绑定到第二个控件之前,按照希望的顺序将全部需要的图像插入到ImageListo 一旦ImageList被绑定到第二个控 件,就不能再删除图像了,并且也不能将图像插入到Listimages集合中间。但是可以在 集合的末尾添加图像。要与其它控件(不能绑定到ImageList控件的控件)一起使用ImageList控件,将第二个 控件的Picture属性赋值给ImageList控件中的任何一个图像的Picture对象。注意 将图 像赋值给Picture对象时,必须使用Set语句。可以插入任何大小的图像到ImageList控件中。然而,由第二个控件显示的图像大小 是由一个因素决定的:第二个控件是否也是一个绑定到ImageList控件的Windows通用控 件。当ImageList控件被绑定到另一个Windows通用控件时,不同大小的图片可以被添 加到控件中,但是在关联的Windows通用控件中显示的图象大小将受到添加到ImageList 图像中的第一个图象大小的约束。例如,如果您添加一个16X16像素的图像到ImageList 控件中,然后将ImageList绑定到TreeView控件(用Node对象显示),所有存储于ImageList 控件中的图像将以16X16像素显示,即使它们的尺寸是更大或更小。此外,如果您用 Picture对象显示图像,则存储在ImageList控件中的任何图像都将以图像最初的大小显示,无论它的尺寸是更大还是更小。注意,ImageList控件是ActiveX控件组的一部分,该控件组可以在文件 MSCOMCTL.OCX中找到。若是在应用程序中使用ImageList控件,必须把文件 MSCOMCTL.OCX 添加到工程中。文件 MSCOMCTL.OCX 应安装到 Microsoft Windows 的System目录或者System 32目录下。-5-VBA控件技术基础(3)2.2 在VBA中使用ImageList控件ImageList控件包含了一个图像的集合(Listimage对象的Listimages集合),这些图像 可以被其它Windows公共控件使用,特别是ListView、TreeView、TabStrip和Toolbar 控件。例如,在Ibolbar控件的按钮上显示的所有图像都可以用ImageList控件存储。如果某个控件将Picture对象分配给它的Picture属性,那么这样的控件就可以和 ImageList 控件一起使用,例如 PictureBox Image 和 Comm and Button 控件。将ImageList控件作为一个单一的存储库可以节约开发的时间,因为这样可以使编写 的代码引用单一和一致的图像目录。不用再编写代码加载位图或图标(使用LoadPicture函 数),现在只需要充填一次ImageList,分配需要的Key值,并编写使用Key或Index属性 的代码来引用图像。控件可以使用Listimage对象集合中的位图(.bmp)、光标(.cur)、图标(.ico)、JPEG(.jpg)或GIF(f)文件。可以在设计时或运行时添加或删除图像。Listimage对象具有标准的集合 对象属性:Key和Index。它还具有标准的方法,例如Add、Remove和Clear。最后,控件提供了 Overlay、Draw和Extracticon方法,利用这些方法可以创建组合 的图像、在具有hDC属性的对象(如Form和Printer对象)上画图,以及用存储在控件 中的位图创建图标。使用ImageList控件可以存储表示打开文件夹、关闭文件夹和文档的图像。这些图像 可以动态地分配给TreeView控件的Node对象,以便在节点展开或折叠时表示它的不同 状态,或者表示节点是文档还是文件夹。也可以存储表示一般计算机操作,例如保存、打 开以及打印文件的图像。这样就可以将这些图像分配给应用程序中Toolbar控件上的 Button对象。还可以存储表示拖放操作的图像,例如MousePointer图标和Dragicons。2.3 ImageList控件使用示例2.3.1 准备工作在使用控件ImageList控件前,先应在“控件工具箱”中添加下面的控件:Microsoft ImageList Control,version 6.0Microsoft TreeView Control,version 6.0在“控件工具箱”中单击右键,选择“附加控件”,弹出如图2.1所示所示的“附加控 件”对话框,在该对话框中选中上面的两个控件。-6-ImageList 控件附加控件可用控件Q):因 Microsoft Microsoft Microsoft Microsoft MicrosoftForms 2.0 ToggleButton aHelp 2.0 Contents ControlHelp 2.0 Index Control ImageComboBox Control,ve ImageList Control,versioMicrosoft ImageList Control,versi J Microsoft Microsoft Microsoft Microsoft MicrosoftInkEdi t ControlInkPicture ControlListView Control,versionLi stView Control,versi onMonthView Control 6.0(SP v显示r只显示所选项)Microsoft ImageList Control,version 6.0位置C:WIHD0WSsystem32MSC0MCTL.OCX图2.1:附加控件此时,在“控件工具箱”中应该新增加了名为“ImageList”和“TreeView”的两个控 件,如图2.2所示。工具箱 因件A国ulnlira后 控 kabl国 cnqxwsN图2.2:新添加的两个控件2.3.2 示例一:添加Listimage对象的方法(一)可以结合LoadPicture函数一起使用Listimages集合的Add方法来添加Listimage对 象。在VBE编辑器中,插入一用户窗体,在窗体上放置一V ImageList控件和Tree View 控件。如图2.3所示,然后在用户窗体代码窗口输入下面的代码:-7-VBA控件技术基础(3)图2.3:添加Listimage对象Private Sub UserForm_lnitialize()Dim imllmages As New ImageList决定图像的大小imllmages.ImageWidth=16imllmages.ImageHeight=16添加图像imllmages.Listimages._Add,jz,LoadPicture(ThisWorkbook.Path&1.ico),将ImageList控件绑定到TreeView控件中 Set TreeViewl.ImageList=imllmages为TreeView控件的Node对象赋一个图像,该图像的KeyTreeViewl.Nodes.Add,,根文件夹,jzEnd Sub上面的示例当窗体初始化时,加载名为imllmages的ImageList控件和一个图标,然 后将图标添加到TreeView中。在该过程中,使用了 ImageWidth属性和ImageHeight属 性来改变图标的大小,也可以在控件的“属性”对话框中输入想要的尺寸值来设置图像的 大小。注意,只有当ImageList中不包含图像时才能这么做。在控件中包含了图像后,试 图改变图像的尺寸将导致错误。按F5键运行,结果如图2.4所示。图2.4:添加Listimage对象结果2.3.3 示例二:添加Listimage对象的方法(二)也可以先将图像放置在一个工作表中,然后再利用OLEObject对象的属性将其添加到 ImageList控件中。下面举例说明。-8-ImageList 控件先将一个图像放置在工作表Sheetl的单元格A1中,如图5所示。图25将一个图像放置在工作表单元格中,以便ImageList控件加载在VBE编辑器中添加一个用户窗体,并放置一个ImageList控件和一个TreeView控 件,如图2.3所示。在用户窗体代码窗口输入下面的代码:Private Sub UserForm_lnitialize()Dim imllmages As New ImageList决定图像的大小imllmages.ImageWidth=16imllmages.ImageHeight=16添加图像imllmages.Listimages.Add _Key:=mouse”,_Picture:=Sheet1.0LE0bjects(image1).Object.Picture过滤图片背景色imllmages.MaskColor=RGB(0,0,0),将ImageList控件绑定到TreeView控件中Set TreeViewl.ImageList=imllmages为TreeView控件的Node对象赋一个图像,该图像的Key值是”mouse”TreeViewl.Nodes.Add,”根文件夹丁mouse”End Sub-9-VBA控件技术基础(3)按F5键运行上面的代码,看看结果如何。上面的示例也说明了 MaskColor属性的用 法,该必性过滤图片的背景色,即所指定的颜色将变为透明。2.3.4 示例三:创建组合图像可以使用ImageList控件来创建组合图像(图片对象),这个组合图像是由两个图像通过 使用 Overlay方法合成的。当然也可以使用MaskColor属性来过滤纸掉一些颜色。Overlay方法需要两个参数。第一个参数指定了下面的图像;第二个参数指定了覆盖 在第一个图像上的图像。两个参数都可以是Listimage对象的Index或Key属性。下面举 例说明创建组合图像。首先,在VBE窗口中添加一个用户窗体,在窗体上放置三个“图像”控件、三个“命 令按钮”控件和一个ImageList控件,如图2.6所示。图2.6:创建组合图像然后在用户窗体代码窗口中,输入下面的代码:声明模块级的对象变量Dim img As New ImageListPrivate Sub CommandButton1_Click()img.Listimages.Add Key:=Bottom,_Picture:=LoadPicture(ThisWorkbook.Path&ButterflyO5.jpg)放置图像有“图像控件中Set Imagel.Picture=img.Listlmages(Bottom).PictureEnd SubPrivate Sub CommandButton2_Click()img.Listimages.Add Key:=lbp,_Picture:=LoadPicture(ThisWorkbook.Path&ANGEL4.ico)放置图像有“图像控件中Set Image2.Picture=img.Listlmages(lbp).PictureEnd SubPrivate Sub CommandButton3_Click()将图像组合放置在“图像“控件中其中Overlay方法的第一个警代表的图像在下面,第二个代表的在上面Set Image3.Picture=img.Overlay(Bottom,Top)-io-ImaaeList 控件End Sub按F5键运行上面的代码,结果如图2.7所示。图2.7:组合的图像注意:必须在单击“添加图像1”和“添加图像2”按钮后,再单击“组合图像”按 钮,否则会出错。-11-第3章ImageCombo控件介绍3.1 添加 ImageCombo 控件在标准的控件工具箱中并没有ImageCombo控件,要使用该控件,必须先将其添加到 控件工具箱中。如图3.1所示,在控件工具箱中单击右键,在弹出的菜单中选择“附加控 件工具箱件 A 国|7=,_)11倍 控 abl函 603 1 息 附加控件(A).|删除项目I自定义项目图3.1:附加控件此时,出现如图3.2所示的“附加控件”对话框。附加控件可用控件&):0 Microsoft Forms 2.0 ToggleButton Microsoft Help 2.0 Contents Control Microsoft Help 2.0 Index Controlicrosoft ImageComboBox Control,Microsoft 冈 Microsoft Microsoft Microsoft Microsoft Microsoft MicrosoftImageList Control,versio ImageList Control,versioInkEdi t Control InkPicture Control ListView Control,、ListView Control,1 MonthView Control Iversionversion6.0 SP v2显示r只显示所选项)Microsoft ImageComboBox Control/version 6.0 位置 C:MaNBCIWSwstem32MSC0MCTL OCX-13-VBA控件技术基础(3)图32附加控件对话框在该对话框中,选中“Microsoft ImageComboBox Control,version 6.0”前的复选框,单击“确定”按钮后,在“控件工具箱”中将出现ImageCombo控件,如图3.3所示。工具箱 科 A 国(71 二口llraM 控 labl圈fyaqz 思凤|工mageCombo|图3.3:附加控件后的工具箱注:由于本文中要用到ImageList控件,故将该控件一并添加到控件工具箱中,该控 件位于ImageCombo控件的左边。3.2 ImageCombo 控件简介ImageCombo控件是标准Windows组合框的允许绘图版本,控件列表部分中的每一 项都可以有一幅指定的图片。也就是说,该控件可以显示一个包含图片的项目列表,每一 项可以有自己的图片,也可以对多个列表项使用相同的图片。除了支持图片之外,ImageCombo还提供了一个对象和基于集合的列表控件。控件列 表部分的每一项是一个不同的Comboitem对象,而且列表中的所有项组合起来构成 Comboitems集合,这就使它容易一项一项地指定诸如标记文本、IbolTip文本、关键字值 以及缩进等级等属性。ImageCombo控件包括一个Comboitem对象的集合。一个Comboitem对象定义了 出现在控件列表部分中的项目的各种特性。除了用列表项目来显示图片外,ImageCombo控件还使用集合和对象管理控件的列表 部分。这使它很容易使用相似的对象和集合概念来对列表中的输入项进行操作,例如Add、Remove 和 Clear 方法,以及 For Each 和 With.End With 结构。3.2.1 ImageCombo控件与复合框控件ImageCombo控件类似于标准的Windows复合框控件,但同时有一些重要的区别。最明显的区别就是在复合框的列表部分可以为每一项加入图片,通过使用图像,用户可以-14-ImageCombo 冷代更容易地在可能的选择中标识并选中选项。如前所述,另一个不很明显但同样重要的区别是ImageCombo管理控件列表部分的方 式。列表中的每一项是一个Comboitem对象,而列表本身则是这些对象的Comboitems 集合。这样,列表的管理就变得简单化了,使单独或一起访问各项目变得更加简单,分配 或更改那些决定项目内容和形式的属性也很方便。这种结构同时还使处理列表项所带的图 片更加方便。由于列表中的各个项目是集合中的对象,标准复合框控件中的某些属性就不再需要了(例如List、Listindex和ItemData)。因此,ImageCombo控件中就不再提供这些属性了。ImageCombo列表中的每一项可以有三个与之相关联的图片。第一个图片,由Image 属性指定,出现在控件下拉部分中,列表项文字的旁边。当在列表中选定Sellmage属性 时,则Sellmag属性指定列表项的图片,Sellmage图片出现在复合框编辑部分的旁边,和在列表部分中一样。Overlayimage属性提供了在主图片上叠放其它图片的方式,例如表 示有特殊兴趣的复选标记,或者表示该项无效的Xo要管理用于列表项的这些图片,ImageCombo使用了 ImageList公用控件。通过索引 或引用存储在ImageList控件中图片的关键值将图片分配给ImageCombo中的项。ImageCombo控件也支持多级缩进。缩进的数目是单个列表项的属性,所以即使列表 被重新排序,列表项仍然保持它们的缩进层次。显示有不同的缩进层次可以突出列表的某 些部分或显示层次结构关系。3.2.2 ImageCombo控件属性参考ImageCombo控件具有下列属性:Identation 属性,Selected Item 属性(ActiveX 控件),CaseSens 让 ive 属性,UsePathSep 属性,Locked 属性,Comboitems 属性,DataFormat 属性,Left、Top 属性,lab Index 属性,Bg 属性,Dragicon 属性,DragMode 属性,BbStop 属性,HelpContextID 属性,Index 属性(控件矩阵),Name 属性,Parent 属性,Container 属性,Object 属性,TbolTipfext 属性,WhatsThisHelpID 属性,OLEDragMode 属性(ActiveX 控件),OLEDropMode 属性(ActiveX 控件),Sei Length SelStart、SelText 属性(ActiveX 控件),Text 属性(ActiveX 控件),Height、Width 属性(ActiveX 控件),Visible 属性(ActiveX 控件),BackColor、ForeColor 属性(ActiveX 控件),Enabled 属性(ActiveX 控件),Font 属性(ActiveX 控件),hWnd 属性(ActiveX 控件),Mouseicon 属性(ActiveX 控件),MousePointer 属性(ActiveX 控件),ImageList 属性(ActiveX 控件)。3.2.3 ImageCombo控件方法参考ImageCombo控件具有下列方法:SetFirstVisible 方法,GetFirstVisible 方法,SetFocus 方法,Drag 方法,Move 方法,ZOrder 方法,ShowWhatsThis 方法,OLEDrag 方法(ActiveX 控件),Refresh 方法(ActiveX 控件)。3.2.4 ImageCombo控件事件参考ImageCombo控件具有下列事件:-15-VBA控件技术基础(3)DropDown 事件(ImageCombo 控件),Drag Drop 事件,DragOver 事件,GotFocus 事件,LostFocus 事件,Validate 事件,OLECompleteDrag 事件(ActiveX 控件),OLEDragDrop 事件(ActiveX 控件),OLEDragOver 事件(ActiveX 控件),OLEGiveFeedBack 事件(ActiveX 控件),OLESetData 事件(ActiveX 控件),OLEStartDrag 事件(ActiveX 控件),Change 事件(ActiveX 控件),Click 事件(ActiveX 控件),DbICIick 事件(ActiveX 控件),KeyDown、Keyllp 事件(ActiveX 控件),KeyPress 事件(ActiveX 控件)。3.3 ImageCombo控件的使用3.3.1 可能的用途使用ImageCombo控件,可以创建与Windows资源管理器风格相似的界面或创建类 似于一般“打开文件”和“保存文件”对话框的自定义对话框。也可以创建使用不同的图 片和/或缩进的列表,以表示基于某些外部条件的列表项状态,例如窗体上其他控件的状态。还可以在下拉列表格式中向用户提供层次结构信息、为标准的下拉列表添加视觉上的优化 或指示器、显示具有标准外观的复合框等。3.3.2 ImageCombo控件的应用及示例向ImageCombo控件中添加项目如果要向ImageCombo控件中添加新的项目,需要使用Add方法在其Comboitems 集合中创建一个新的Comboitem对象。可以为Add方法提供可选的参数来指定新项目的 各种属性,其中包括Index和Key值、使用的任何图片以及将要具有的缩进层次。Add方 法返回对新创建的Comboitem对象的引用。示例一向ImageCombo中添加项目在VBE编辑器中插入一个用户窗体,并在该窗体上放置一个ImageCombo控件和一个命 令按钮控件,如图3.4所示。图3.4:在窗体上放置两个控件然后,在用户窗体代码窗口中输入下面的代码:Private Sub CommandButton1_Click()Dim objNewltem As Comboitem新除图像复合框控件中的项目ImageCombol.Comboitems.Clear添加项目Set objNewltem=ImageCombol.Comboltems.Add(Key:=Sign1,lext:=Mouse)-16-ImageCombo 捽件设置提示文字ImageCombol.ControlTiplext=卡通小老鼠End Sub按F5键运行,单击“添加项目”按钮,结果如图3.5所示。图3.5:添加项目后的结果示例二向ImageCombo中添加项目(2)重新建一个窗体,在其上放置一个ImageCombo控件和一个命令按钮控件,如图4所示。然后,在用户窗体代码窗口中输入下面的代码:Private Sub CommandButton1_Click()Dim objNewltem As Comboitem添加用Set objNewltem=ImageCombol.Com boltems.Add(Key:=Sign,7ext:=Cat)Set objNewltem=ImageCombol.Comboltems.Add _(Key:=Sign1,7ext:=Cat1,lndentation:=1)Set objNewltem=ImageCombol.Comboltems.Add _(Key:=Sign2,Text:=Cat2,lndentation:=1)End Sub按F5键运行,单击“添加项目”按钮,此时,代码将在ImageCombo控件中添加三 个项目,且设置了缩进,如图3.6所示。图3.6:添加项目后的结果注:复合框列表的信息通常按层次结构来组织。为了实现这种显示,每一个Comboitem 对象有一个特定的缩进层次,由其Indentation属性值决定。每一个缩进层次代表从列表边 缘开始的10个像素宽,所以Indentation值为1的Comboitem将从Indentation为0的 Com bo Item开始缩进10个像素。(2)在ImageCombo控件中使用带有图片的列表项-17-VBA控件技术基础(3)列表项的图像由与ImageCombo控件相关联的ImageList控件提供。有关同其他控件 一起使用ImageList控件的详细信息,请参阅“ImageList控件介绍”。要将ImageList控件与ImageCombo控件相关联,请按照以下步骤执行:1)用将要在ImageCombo控件中使用的图片充填ImageList控件。2)将ImageCombo控件的ImageList属性设置为ImageList控件的名称,如下所示:Set ImageCombol.ImageList=ImageListl示例三设置项目的图片要指定在ImageCombo控件中列表项旁边出现的图片,可以将Comboitem对象的 Image属性设置为ImageList控件中某图片的Index或Key值。在VBE编辑器中插入一个用户窗体,并在其中放置一个ImageCombo控件、一个 ImageList控件和一个命令按钮控件,如图3.7所示。图3.7:为项目添加图片然后,在用户窗体代码窗口中,输入下面的代码:Private Sub CommandButton1_Click()Dim img As New ImageListDim obj New Item As Comboitem添加图片img.Listlmages.Add Key:=Cat,Picture:=LoadPicture(ThisWorkbook.Path&cat.g|)img.Listlmages.Add Key:=Cat1”,_Picture:=LoadPicture(ThisWorkbook.Path&cat1.ico)img.Listlmages.A
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服