用ImageCombo即可
组合框的下拉列表就有滚动条

解决方案 »

  1.   

    要使窗口不闪烁先把窗体装载然后设为visible=false
    需要是将visible=true就行了
      

  2.   

    如何设置使组合框的下拉列表有滚动条?
    需用api
      

  3.   

    引用MSWindowsCommonControl-2,可以得到带有图片的下拉列表框(需要VB6)
    至于向导通常是使用Frame替换,不是替换窗体。
      

  4.   

      1.怎样使label控件中的文字在没有激活时,有浮雕效果?如OICQ注册向导中"我的号码"和"密码"
      2.程序运行时,产生在windows状态栏的小图标如何设置?如输入法图标。
      

  5.   

    combo的滚动条是自动生成的,无法由用户添加。combo不能加入图片,但有一个类似combo的imagecombo可以做到。
      

  6.   

    用imagecombo怎么做了? 没人会用吗?
      

  7.   

    人家要你去下一个imagecombo....
    如果自己来做呢,好像很复杂哦:0~~~~~`
      

  8.   

    要想避免闪烁,可以把redraw=false.等窗体变完之后在设成True.....
      

  9.   

    你不会看MSDN吗?
    这么简单的东西用得着费这么大劲儿吗?
      

  10.   

    谁有MSDN,可以把关于ImageCombo的内容传上来吗?
      

  11.   

    ImageCombo 控件
                ImageCombo 控件是标准 Windows 组合框的允许绘图版本。控件列表部分中的每一项都可以有一幅图片指定给它。除了支持图片之外, ImageCombo 还提供了一个对象和基于集合的列表控件。控件列表部分的每一项是一个不同的 ComboItem 对象,而且列表中的所有项组合起来构成 ComboItems 集合。这就使它容易一项一项地指定诸如标记文本、ToolTip文本、关键字值以及缩进等级等属性。语法ImageCombo说明使用 ImageCombo 控件可以显示一个包含图片的项目列表。每一项可以有自己的图片,也可以对多个列表项使用相同的图片。 ImageCombo 控件包括一个 ComboItem 对象的集合。一个 ComboItem 对象定义了出现在控件列表部分中的项目的各种特性。除了用列表项目来显示图片外, ImageCombo 控件还使用集合和对象管理控件的列表部分。这使它很容易使用相似的对象和集合概念来对列表中的输入项进行操作,例如 Add、 Remove 和 Clear 方法,以及 For Each 和 With... End With 结构。注意    ImageCombo 控件是一组 ActiveX 控件的一部分,这组 ActiveX 控件能够在 Mscomctl.ocx 文件中找到。要在您的应用程序中使用 ImageCombo 控件,必须先将 Mscomctl.ocx 文件添加到工程中。当发布您的应用程序时,要把 Mscomctl.ocx 文件安装到用户的 Microsoft Windows System 或 System32 目录中。有关如何向一个工程中添加 ActiveX 控件的更多信息,请参阅《程序员指南》中的“添加控件到工程”。
      

  12.   

    '加入一个imagecombo,一个imagelist1
    Option ExplicitDim fso As New FileSystemObject
    Dim Ff As File
    Dim Fd As FolderPrivate Sub Form_Load()
    Set Fd = fso.GetFolder("E:\bacup\Oicq\face")
    Dim AddImage As ListImage
    Dim AddComboItem As ImageCombo
    Dim i As Integer
        For Each Ff In Fd.Files
         On Error Resume Next
            'If Right(Ff.Name, 5) = "1.bmp" Then
                i = i + 1
                Set AddImage = ImageList1.ListImages.Add(i, Ff.Name, LoadPicture(Ff.Path))
                ImageCombo1.ImageList = ImageList1
                Set AddComboItem = ImageCombo1.ComboItems.Add(, , , i)
            'End If
        '加快显示速度
        DoEvents
        Me.Show
            If i > 10 Then
                Set ImageCombo1.SelectedItem = ImageCombo1.ComboItems(1)
            End If
        Next
    End Sub
      

  13.   

    补充一下,你要引用“MIcrosoft sripting runtime"在菜单上的“工程”----“引用”找到
    还有,你要把E:\bacup\oicq\face,换成你实际的oicq目录
      

  14.   

    反正有空把MSDN中的关于imagcombo控件的都给你吧使用 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 值为“Check”的图片作为覆盖图片使用,可以使用下面的代码:ImageCombo1.ComboItems("Signal1").OverlayImage = _
    "Check"
    要在创建组合框项目时指定覆盖图片,可以将该图片的 Index 或 Key 值作为参数传递给 Add 方法:ImageCombo1.ComboItems.Add(1, "Signal1", "Traffic", _
    "Stoplight", "Greenlight", "Check")
    改变列表项的缩进
    组合框列表的信息通常按层次结构来组织。为了实现这种显示,每一个 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
      

  15.   

       头像的背景不是白色的?
       下拉列表不能控制?
       不能控制头像在imagexcombo位置?
      

  16.   

    能不能做得和oicq一样了? 
      

  17.   

    我来说一个不让窗体闪烁的方法:
    使用 LockWindowUpdate 函数,看名字就知道它是干什么的了,它可以暂时锁定窗体不让其刷新,等到代码执行完毕后再为其解锁。效果不错。
    如:
    LockWindowUpdate Me.hWnd        '锁定窗体
    …………   '此处为其它代码
    LockWindowUpdate 0              '解锁窗体,其参数可为0或NULL。当然,它是API函数,注意使用之前先声明。
      

  18.   

    我见过一个和OICQ一样界面的控件 很牛X