请问好何在COMBO控件中加入图标呢?就象QQ中的选取头像的那一种。

snowboy1980 2001-11-29 04:42:34
...全文
167 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebill 2002-01-20
  • 打赏
  • 举报
回复
经典
snowboy1980 2001-11-29
  • 打赏
  • 举报
回复
谢谢各位啦
Jneu 2001-11-29
  • 打赏
  • 举报
回复
CSDN怎么老出问题:(
回复后显示出错,又看不到答复~
foxruo 2001-11-29
  • 打赏
  • 举报
回复
该实例表明了如何使用 Add 方法添加一个 ComboItem ,以及如何利用返回的引用更改新对象的属性。
object.Add(Index As Variant, Key As Variant, Text As Variant, Image As Variant,SelImage OverLayImage As Variant, Indentation As Variant) As ComboItem

Dim ci As ComboItemSet
ci = ImageCombo1.ComboItems. _
Add(1, "Signal1", "Signal", "RedLight", "GreenLight", 0, 0)
ci.ToolTipText = "Traffic Light"
ci.Indentation = 2
Jneu 2001-11-29
  • 打赏
  • 举报
回复
使用 ImageCombo 控件


ImageCombo 控件类似于标准 Windows 组合框控件,但同时有一些重要的区别。最明显的区别就是在组合框的列表部分可以为每一项加入图片。通过使用图像,用户可以更容易地在可能的选择中标识并选中选项。



另一个不很明显但同样重要的区别是 ImageCombo 管理控件列表部分的方式。列表中的每一项是一个 ComboItem 对象,而列表本身则是这些对象的 ComboItems 集合。这样,列表的管理就变得简单化了,使单独或一起访问各项目变得更加简单,分配或更改那些决定项目内容和形式的属性也很方便。这种结构同时还使处理列表项所带的图片更加方便。

由于列表中的各个项目是集合中的对象,标准组合框控件中的某些属性就不再需要了(例如 List、ListIndex 和 ItemData)。因此,ImageCombo 控件中就不再提供这些属性了。

ImageCombo 列表中的每一项可以有三个与之相关联的图片。第一个图片,由Image 属性指定,出现在控件下拉部分中,列表项文字的旁边。当在列表中选定SelImage 属性时,则SelImage属性指定列表项的图片。SelImage 图片出现在组合框编辑部分的旁边,和在列表部分中一样。OverlayImage 属性提供了在主图片上叠放其它图片的方式,例如表示有特殊兴趣的复选标记,或者表示该项无效的X。

要管理用于列表项的这些图片,ImageCombo 使用了 ImageList 公用控件。通过索引或引用存储在 ImageList 控件中图片的关键值将图片分配给 ImageCombo 中的项。

ImageCombo 控件也支持多级缩进。缩进的数目是单个列表项的属性,所以即使列表被重新排序,列表项仍然保持它们的缩进层次。显示有不同的缩进层次可以突出列表的某些部分或显示层次结构关系。

可能的用途
创建 Windows 资源管理器风格的界面或创建类似于一般“打开文件”和“保存文件”对话框的自定义对话框。


创建使用不同的图片和/或缩进的列表,以表示基于某些外部条件的列表项状态,例如窗体上其他控件的状态。


在下拉列表格式中向用户提供层次结构信息。


为标准的下拉列表添加视觉上的优化或指示器。


显示具有标准外观的组合框,该外观在代码中使用了高级的面向对象的属性、方法和结构。
向 ImageCombo 中添加项目
如果要向 ImageCombo 添加新的项目,需要使用 Add 方法在其 ComboItems 集合中创建一个新的 ComboItem 对象。可以为Add 方法提供可选的参数来指定新项目的各种属性,其中包括 Index 和 Key 值、使用的任何图片以及将要具有的缩进层次。Add 方法返回对新创建的 ComboItem 对象的引用。

下面的代码将一个叫做“Signal1”的项目加入 ImageCombo 列表的最上端,如同提供的 Index 值所指定的1那样。新项目在控件中显示为“交通”,如同在对象的 Text 属性指定的那样。代码得到由 Add 方法返回的对新项目的引用,并用该引用来更改项目的 ToolTip 文本。

Dim objNewItem As ComboItem

Set objNewItem = ImageCombo1.ComboItems.Add(1, _
"Signal1", "Traffic")

objNewItem.ToolTipText = "Traffic Light"
使用带有 ImageCombo 列表项的图片
列表项的图像由与 ImageCombo控件相关联的 ImageList 控件提供。有关同其他控件一起使用 ImageList 控件的详细信息,请参阅“使用 ImageList 控件”。

要在运行时将 ImageList 控件与 ImageCombo 控件相关联,请按照以下步骤执行:

用将要在 ImageCombo 控件中使用的图片充填 ImageList 控件。


单击右键 ImageCombo 控件,单击“属性”打开“属性页”对话框。


在“通用”选项卡上,单击“ImageList”框选择已经充填过的ImageList 控件。
要在运行时把 ImageList 控件和 ImageCombo 控件相关联,只需要简单地将 ImageList 属性设置为 ImageList 控件的名称,如下例所示:

Private Sub Form_Load()
Set ImageCombo1.ImageList = ImageList1
End Sub
设置一项的图片
要指定在 ImageCombo 控件中列表项旁边出现的图片,可以将 ComboItem 对象的 Image 属性设置为 ImageList 控件中某图片的 Index 或 Key 值。例如,如果 ImageList 控件中第一幅图片的 Key 值被设置为“红灯”,那么下面两行代码完成的是同样的事情:

ImageCombo1.ComboItems("Signal1").Image = 1
ImageCombo1.ComboItems("Signal1").Image = "Stoplight"

另外一种办法是可以在创建 ComboItem 时指定与其关联的图像。只需要简单地将正确图像的 Key 或 Index 属性指定为 Add 方法的一个参数,例如:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight")
选中的项目图像
当从列表中选择一个项目时,ComboItem 的 SelImage 属性所指定的图像将出现在组合框编辑部分中项目的旁边。下一次下拉组合框时,SelImage 图片会出现在列表中该项目的旁边。

如果 ImageList 控件包含了一个 Key 值为“绿灯”的图片,可以通过下面的代码将这个图片作为列表项的选定图片使用:

ImageCombo1.ComboItems("Signal1").SelImage = _
"Greenlight"

也可以在向列表中添加新项目时,指定该图片作为选定图像使用。可以将该图片的 Key 或 Index 值作为参数传递给 Add 方法:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight", "Greenlight")
指定覆盖图片
可以使用覆盖图片来表示 ComboItem 的状态,或标识它以引起特别的注意。可以通过使用 ComboItem 的 OverlayImage 属性指定覆盖图片。如果要将 ImageList 控件中 Key 值为“Checkmark”的图片作为覆盖图片使用,可以使用下面的代码:

ImageCombo1.ComboItems("Signal1").OverlayImage = _
"Checkmark"
要在创建组合框项目时指定覆盖图片,可以将该图片的 Index 或 Key 值作为参数传递给 Add 方法:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight", "Greenlight", "Checkmark")
改变列表项的缩进
组合框列表的信息通常按层次结构来组织。为了实现这种显示,每一个 ComboItem 对象有一个特定的缩进层次,由其 Indentation 属性值决定。每一个缩进层次代表从列表边缘开始的10个像素宽,所以 Indentation 值为3 的 ComboItem 将从 Indentation 为 0的 ComboItem 开始缩进30个像素。

如果要设置列表中所有项目的缺省缩进值,可以在设计时使用属性工作表或者通过代码来设置 ImageCombo 控件的 Indentation 属性值。

要设置 ComboItems 缺省缩进值,请

从“属性页”中选择 Indentation 属性并将其值改为大于0 的整数。每个缩进层次代表十个像素。
要通过代码设置 ComboItem的缺省缩进值,请

使用下面的代码:

ImageCombo1.Indentation = 1

设置个别 ComboItem 对象的缩进值

如果要设置具体某个列表项的缩进值,则需要设置该 ComboItem 对象的 Indentation,同时还需要指定 Key 或 Index 值来确定该对象。例如,下面的代码在列表中每三个项目缩进20个像素:

For Each ComboItem In ImageCombo1.ComboItems
If (ComboItem.Index / 3) = _
(Int(ComboItem.Index / 3)) Then
ComboItem.Indentation = 2
End If
Next ComboItem

下面的代码将 Key 值为“RightOn”的项目缩进40个像素:

ImageCombo1.ComboItems("RightOn").Indentation = 4

Jneu 2001-11-29
  • 打赏
  • 举报
回复
使用 ImageCombo 控件


ImageCombo 控件类似于标准 Windows 组合框控件,但同时有一些重要的区别。最明显的区别就是在组合框的列表部分可以为每一项加入图片。通过使用图像,用户可以更容易地在可能的选择中标识并选中选项。



另一个不很明显但同样重要的区别是 ImageCombo 管理控件列表部分的方式。列表中的每一项是一个 ComboItem 对象,而列表本身则是这些对象的 ComboItems 集合。这样,列表的管理就变得简单化了,使单独或一起访问各项目变得更加简单,分配或更改那些决定项目内容和形式的属性也很方便。这种结构同时还使处理列表项所带的图片更加方便。

由于列表中的各个项目是集合中的对象,标准组合框控件中的某些属性就不再需要了(例如 List、ListIndex 和 ItemData)。因此,ImageCombo 控件中就不再提供这些属性了。

ImageCombo 列表中的每一项可以有三个与之相关联的图片。第一个图片,由Image 属性指定,出现在控件下拉部分中,列表项文字的旁边。当在列表中选定SelImage 属性时,则SelImage属性指定列表项的图片。SelImage 图片出现在组合框编辑部分的旁边,和在列表部分中一样。OverlayImage 属性提供了在主图片上叠放其它图片的方式,例如表示有特殊兴趣的复选标记,或者表示该项无效的X。

要管理用于列表项的这些图片,ImageCombo 使用了 ImageList 公用控件。通过索引或引用存储在 ImageList 控件中图片的关键值将图片分配给 ImageCombo 中的项。

ImageCombo 控件也支持多级缩进。缩进的数目是单个列表项的属性,所以即使列表被重新排序,列表项仍然保持它们的缩进层次。显示有不同的缩进层次可以突出列表的某些部分或显示层次结构关系。

可能的用途
创建 Windows 资源管理器风格的界面或创建类似于一般“打开文件”和“保存文件”对话框的自定义对话框。


创建使用不同的图片和/或缩进的列表,以表示基于某些外部条件的列表项状态,例如窗体上其他控件的状态。


在下拉列表格式中向用户提供层次结构信息。


为标准的下拉列表添加视觉上的优化或指示器。


显示具有标准外观的组合框,该外观在代码中使用了高级的面向对象的属性、方法和结构。
向 ImageCombo 中添加项目
如果要向 ImageCombo 添加新的项目,需要使用 Add 方法在其 ComboItems 集合中创建一个新的 ComboItem 对象。可以为Add 方法提供可选的参数来指定新项目的各种属性,其中包括 Index 和 Key 值、使用的任何图片以及将要具有的缩进层次。Add 方法返回对新创建的 ComboItem 对象的引用。

下面的代码将一个叫做“Signal1”的项目加入 ImageCombo 列表的最上端,如同提供的 Index 值所指定的1那样。新项目在控件中显示为“交通”,如同在对象的 Text 属性指定的那样。代码得到由 Add 方法返回的对新项目的引用,并用该引用来更改项目的 ToolTip 文本。

Dim objNewItem As ComboItem

Set objNewItem = ImageCombo1.ComboItems.Add(1, _
"Signal1", "Traffic")

objNewItem.ToolTipText = "Traffic Light"
使用带有 ImageCombo 列表项的图片
列表项的图像由与 ImageCombo控件相关联的 ImageList 控件提供。有关同其他控件一起使用 ImageList 控件的详细信息,请参阅“使用 ImageList 控件”。

要在运行时将 ImageList 控件与 ImageCombo 控件相关联,请按照以下步骤执行:

用将要在 ImageCombo 控件中使用的图片充填 ImageList 控件。


单击右键 ImageCombo 控件,单击“属性”打开“属性页”对话框。


在“通用”选项卡上,单击“ImageList”框选择已经充填过的ImageList 控件。
要在运行时把 ImageList 控件和 ImageCombo 控件相关联,只需要简单地将 ImageList 属性设置为 ImageList 控件的名称,如下例所示:

Private Sub Form_Load()
Set ImageCombo1.ImageList = ImageList1
End Sub
设置一项的图片
要指定在 ImageCombo 控件中列表项旁边出现的图片,可以将 ComboItem 对象的 Image 属性设置为 ImageList 控件中某图片的 Index 或 Key 值。例如,如果 ImageList 控件中第一幅图片的 Key 值被设置为“红灯”,那么下面两行代码完成的是同样的事情:

ImageCombo1.ComboItems("Signal1").Image = 1
ImageCombo1.ComboItems("Signal1").Image = "Stoplight"

另外一种办法是可以在创建 ComboItem 时指定与其关联的图像。只需要简单地将正确图像的 Key 或 Index 属性指定为 Add 方法的一个参数,例如:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight")
选中的项目图像
当从列表中选择一个项目时,ComboItem 的 SelImage 属性所指定的图像将出现在组合框编辑部分中项目的旁边。下一次下拉组合框时,SelImage 图片会出现在列表中该项目的旁边。

如果 ImageList 控件包含了一个 Key 值为“绿灯”的图片,可以通过下面的代码将这个图片作为列表项的选定图片使用:

ImageCombo1.ComboItems("Signal1").SelImage = _
"Greenlight"

也可以在向列表中添加新项目时,指定该图片作为选定图像使用。可以将该图片的 Key 或 Index 值作为参数传递给 Add 方法:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight", "Greenlight")
指定覆盖图片
可以使用覆盖图片来表示 ComboItem 的状态,或标识它以引起特别的注意。可以通过使用 ComboItem 的 OverlayImage 属性指定覆盖图片。如果要将 ImageList 控件中 Key 值为“Checkmark”的图片作为覆盖图片使用,可以使用下面的代码:

ImageCombo1.ComboItems("Signal1").OverlayImage = _
"Checkmark"
要在创建组合框项目时指定覆盖图片,可以将该图片的 Index 或 Key 值作为参数传递给 Add 方法:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight", "Greenlight", "Checkmark")
改变列表项的缩进
组合框列表的信息通常按层次结构来组织。为了实现这种显示,每一个 ComboItem 对象有一个特定的缩进层次,由其 Indentation 属性值决定。每一个缩进层次代表从列表边缘开始的10个像素宽,所以 Indentation 值为3 的 ComboItem 将从 Indentation 为 0的 ComboItem 开始缩进30个像素。

如果要设置列表中所有项目的缺省缩进值,可以在设计时使用属性工作表或者通过代码来设置 ImageCombo 控件的 Indentation 属性值。

要设置 ComboItems 缺省缩进值,请

从“属性页”中选择 Indentation 属性并将其值改为大于0 的整数。每个缩进层次代表十个像素。
要通过代码设置 ComboItem的缺省缩进值,请

使用下面的代码:

ImageCombo1.Indentation = 1

设置个别 ComboItem 对象的缩进值

如果要设置具体某个列表项的缩进值,则需要设置该 ComboItem 对象的 Indentation,同时还需要指定 Key 或 Index 值来确定该对象。例如,下面的代码在列表中每三个项目缩进20个像素:

For Each ComboItem In ImageCombo1.ComboItems
If (ComboItem.Index / 3) = _
(Int(ComboItem.Index / 3)) Then
ComboItem.Indentation = 2
End If
Next ComboItem

下面的代码将 Key 值为“RightOn”的项目缩进40个像素:

ImageCombo1.ComboItems("RightOn").Indentation = 4

Jneu 2001-11-29
  • 打赏
  • 举报
回复
使用 ImageCombo 控件


ImageCombo 控件类似于标准 Windows 组合框控件,但同时有一些重要的区别。最明显的区别就是在组合框的列表部分可以为每一项加入图片。通过使用图像,用户可以更容易地在可能的选择中标识并选中选项。



另一个不很明显但同样重要的区别是 ImageCombo 管理控件列表部分的方式。列表中的每一项是一个 ComboItem 对象,而列表本身则是这些对象的 ComboItems 集合。这样,列表的管理就变得简单化了,使单独或一起访问各项目变得更加简单,分配或更改那些决定项目内容和形式的属性也很方便。这种结构同时还使处理列表项所带的图片更加方便。

由于列表中的各个项目是集合中的对象,标准组合框控件中的某些属性就不再需要了(例如 List、ListIndex 和 ItemData)。因此,ImageCombo 控件中就不再提供这些属性了。

ImageCombo 列表中的每一项可以有三个与之相关联的图片。第一个图片,由Image 属性指定,出现在控件下拉部分中,列表项文字的旁边。当在列表中选定SelImage 属性时,则SelImage属性指定列表项的图片。SelImage 图片出现在组合框编辑部分的旁边,和在列表部分中一样。OverlayImage 属性提供了在主图片上叠放其它图片的方式,例如表示有特殊兴趣的复选标记,或者表示该项无效的X。

要管理用于列表项的这些图片,ImageCombo 使用了 ImageList 公用控件。通过索引或引用存储在 ImageList 控件中图片的关键值将图片分配给 ImageCombo 中的项。

ImageCombo 控件也支持多级缩进。缩进的数目是单个列表项的属性,所以即使列表被重新排序,列表项仍然保持它们的缩进层次。显示有不同的缩进层次可以突出列表的某些部分或显示层次结构关系。

可能的用途
创建 Windows 资源管理器风格的界面或创建类似于一般“打开文件”和“保存文件”对话框的自定义对话框。


创建使用不同的图片和/或缩进的列表,以表示基于某些外部条件的列表项状态,例如窗体上其他控件的状态。


在下拉列表格式中向用户提供层次结构信息。


为标准的下拉列表添加视觉上的优化或指示器。


显示具有标准外观的组合框,该外观在代码中使用了高级的面向对象的属性、方法和结构。
向 ImageCombo 中添加项目
如果要向 ImageCombo 添加新的项目,需要使用 Add 方法在其 ComboItems 集合中创建一个新的 ComboItem 对象。可以为Add 方法提供可选的参数来指定新项目的各种属性,其中包括 Index 和 Key 值、使用的任何图片以及将要具有的缩进层次。Add 方法返回对新创建的 ComboItem 对象的引用。

下面的代码将一个叫做“Signal1”的项目加入 ImageCombo 列表的最上端,如同提供的 Index 值所指定的1那样。新项目在控件中显示为“交通”,如同在对象的 Text 属性指定的那样。代码得到由 Add 方法返回的对新项目的引用,并用该引用来更改项目的 ToolTip 文本。

Dim objNewItem As ComboItem

Set objNewItem = ImageCombo1.ComboItems.Add(1, _
"Signal1", "Traffic")

objNewItem.ToolTipText = "Traffic Light"
使用带有 ImageCombo 列表项的图片
列表项的图像由与 ImageCombo控件相关联的 ImageList 控件提供。有关同其他控件一起使用 ImageList 控件的详细信息,请参阅“使用 ImageList 控件”。

要在运行时将 ImageList 控件与 ImageCombo 控件相关联,请按照以下步骤执行:

用将要在 ImageCombo 控件中使用的图片充填 ImageList 控件。


单击右键 ImageCombo 控件,单击“属性”打开“属性页”对话框。


在“通用”选项卡上,单击“ImageList”框选择已经充填过的ImageList 控件。
要在运行时把 ImageList 控件和 ImageCombo 控件相关联,只需要简单地将 ImageList 属性设置为 ImageList 控件的名称,如下例所示:

Private Sub Form_Load()
Set ImageCombo1.ImageList = ImageList1
End Sub
设置一项的图片
要指定在 ImageCombo 控件中列表项旁边出现的图片,可以将 ComboItem 对象的 Image 属性设置为 ImageList 控件中某图片的 Index 或 Key 值。例如,如果 ImageList 控件中第一幅图片的 Key 值被设置为“红灯”,那么下面两行代码完成的是同样的事情:

ImageCombo1.ComboItems("Signal1").Image = 1
ImageCombo1.ComboItems("Signal1").Image = "Stoplight"

另外一种办法是可以在创建 ComboItem 时指定与其关联的图像。只需要简单地将正确图像的 Key 或 Index 属性指定为 Add 方法的一个参数,例如:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight")
选中的项目图像
当从列表中选择一个项目时,ComboItem 的 SelImage 属性所指定的图像将出现在组合框编辑部分中项目的旁边。下一次下拉组合框时,SelImage 图片会出现在列表中该项目的旁边。

如果 ImageList 控件包含了一个 Key 值为“绿灯”的图片,可以通过下面的代码将这个图片作为列表项的选定图片使用:

ImageCombo1.ComboItems("Signal1").SelImage = _
"Greenlight"

也可以在向列表中添加新项目时,指定该图片作为选定图像使用。可以将该图片的 Key 或 Index 值作为参数传递给 Add 方法:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight", "Greenlight")
指定覆盖图片
可以使用覆盖图片来表示 ComboItem 的状态,或标识它以引起特别的注意。可以通过使用 ComboItem 的 OverlayImage 属性指定覆盖图片。如果要将 ImageList 控件中 Key 值为“Checkmark”的图片作为覆盖图片使用,可以使用下面的代码:

ImageCombo1.ComboItems("Signal1").OverlayImage = _
"Checkmark"
要在创建组合框项目时指定覆盖图片,可以将该图片的 Index 或 Key 值作为参数传递给 Add 方法:

ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
"Stoplight", "Greenlight", "Checkmark")
改变列表项的缩进
组合框列表的信息通常按层次结构来组织。为了实现这种显示,每一个 ComboItem 对象有一个特定的缩进层次,由其 Indentation 属性值决定。每一个缩进层次代表从列表边缘开始的10个像素宽,所以 Indentation 值为3 的 ComboItem 将从 Indentation 为 0的 ComboItem 开始缩进30个像素。

如果要设置列表中所有项目的缺省缩进值,可以在设计时使用属性工作表或者通过代码来设置 ImageCombo 控件的 Indentation 属性值。

要设置 ComboItems 缺省缩进值,请

从“属性页”中选择 Indentation 属性并将其值改为大于0 的整数。每个缩进层次代表十个像素。
要通过代码设置 ComboItem的缺省缩进值,请

使用下面的代码:

ImageCombo1.Indentation = 1

设置个别 ComboItem 对象的缩进值

如果要设置具体某个列表项的缩进值,则需要设置该 ComboItem 对象的 Indentation,同时还需要指定 Key 或 Index 值来确定该对象。例如,下面的代码在列表中每三个项目缩进20个像素:

For Each ComboItem In ImageCombo1.ComboItems
If (ComboItem.Index / 3) = _
(Int(ComboItem.Index / 3)) Then
ComboItem.Indentation = 2
End If
Next ComboItem

下面的代码将 Key 值为“RightOn”的项目缩进40个像素:

ImageCombo1.ComboItems("RightOn").Indentation = 4

snowboy1980 2001-11-29
  • 打赏
  • 举报
回复
怎么使用呢
Jneu 2001-11-29
  • 打赏
  • 举报
回复
网上也有类似的控件,自己去找找吧~
foxruo 2001-11-29
  • 打赏
  • 举报
回复
只能用ImageCombox控件
Jneu 2001-11-29
  • 打赏
  • 举报
回复
ImageCombo 控件是标准 Windows 组合框的允许绘图版本。控件列表部分中的每一项都可以有一幅图片指定给它。
uguess 2001-11-29
  • 打赏
  • 举报
回复

用VB6的ImageCombox控件。

baoxiang 2001-11-29
  • 打赏
  • 举报
回复
那种不是combo控件吧。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧