0

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

有谁知道为什么这可能在 Win 7 中损坏并建议修复?

4

4 回答 4

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 是我的图像列表键。

于 2012-06-07T13:53:21.413 回答
1

MSCOMCTL.OCX

6.1.97.82 有效 6.1.98.33 无效

这是大版本

尝试使用 6.1.97.82


我得到了它!

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

于 2012-08-01T12:53:24.160 回答
0

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

Regsvr32 MSCOMCTL.OCX

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

于 2012-06-07T12:32:18.260 回答
0

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

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

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

于 2012-06-07T13:08:54.990 回答