【问题标题】:Why doesn't VB6 image combo show images in Win 7为什么VB6图像组合在Win 7中不显示图像
【发布时间】:2012-06-11 04:35:28
【问题描述】:

不幸的是,我需要对旧的 VB6 应用程序进行更改。我注意到来自 mscomctl.ocx 的图像组合在 Windows 7 中无法正常工作。没有图像显示,即使它链接到图像列表控件,并且在 XP 中工作正常。

有谁知道为什么这可能在 Win 7 中出现问题并提出修复建议?

【问题讨论】:

  • 嗯,我刚刚在 IDE 中尝试过,效果很好。您必须创建一个简单的复制案例并向我们展示。
  • 请转到事件查看器,单击应用程序,看看是否记录了任何错误。
  • 32 位操作系统。如何在此处上传文件?
  • 上传样例项目到skydrive.live.com/…
  • 抱歉,那个 URI 不起作用。无论如何,您当然可以在此处发布代码。它不必很复杂 - 只是一个简单的复制案例。我所做的只是在设计时加载一个带有 16x16 位图的图像列表,然后在事件过程中调用 ImageControl.ComboItems.Add() 几次。

标签: windows vb6 controls


【解决方案1】:

好吧,以下对我有用,其中 ImageCombo 是我的 ImageCombo 框,ImageList 是我的 Image List 控件!

Private Sub Command_Click()

    Set ImageCombo.ImageList = ImageList

    With ImageCombo.ComboItems
        .Add , "OPEN_FOLDER", "Open Folder", "IMG_OPEN_FOLDER"
        .Add , "CLOSED_FOLDER", "Closed Folder", "IMG_CLOSED_FOLDER"
        .Add , "NEW_DOCUMENT", "New Document", "IMG_NEW_DOCUMENT"
        .Add , "PLUS", "Plus", "IMG_PLUS"
        .Add , "MINUS", "Minus", "IMG_MINUS"
    End With

End Sub

IMG_xxxx 是我的图像列表键。

【讨论】:

    【解决方案2】:

    MSCOMCTL.OCX

    6.1.97.82 作品 6.1.98.33 不行

    这是大版本

    尝试使用 6.1.97.82


    我明白了!

    在 6.1.98.33 版本中,当您向 comboitems 集合添加项目时,您必须设置第三个参数(“文本”)。然后将显示图像。你可以设置一个空字符串“”。

    【讨论】:

      【解决方案3】:

      也许 MSCOMCTL.OCX 未正确注册或与您的 Windows 不兼容。请打开命令提示符并以管理员身份运行,然后键入以下命令:

      Regsvr32 MSCOMCTL.OCX
      

      如果问题仍然存在,请下载新的 MSCOMCTL.OCX 并重新注册。您可以从以下链接下载 MSCOMCTL.OCX: Mscomctl.zip

      【讨论】:

      • 是的,我确实不得不重新注册一大堆 DLL 和 OCX,因为它们在 regedit 中看起来有点损坏。现在我已经记住了如何将项目添加到列表中......谢谢!
      【解决方案4】:

      仅将图像列表分配给组合是不够的!还需要添加项目:

      ImageCombo1.ComboItems.Add 1, "key1", "text1", 1
      ImageCombo1.ComboItems.Add 2, "key2", "text2", 2
      

      然后您必须记住部署时的二进制兼容性。天哪,我们自 VB6 以来取得的进步……万岁.Net。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-17
        • 1970-01-01
        • 1970-01-01
        • 2020-11-22
        • 2015-12-08
        • 2014-07-15
        • 1970-01-01
        相关资源
        最近更新 更多