为什么VB6图像组合不能在Win 7中显示图像

时间:2012-06-07 06:01:28

标签: windows vb6 controls

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

有谁知道为什么这可能会在Win 7中出现故障并建议修复?

4 个答案:

答案 0 :(得分:1)

嗯,以下对我有效,其中ImageCombo是我的ImageCombo框,ImageList是我的图像列表控件!

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

答案 1 :(得分:1)

MSCOMCTL.OCX

6.1.97.82作品 6.1.98.33不起作用

这是'版本

尝试使用6.1.97.82


我知道了!

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

答案 2 :(得分:0)

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

Regsvr32 MSCOMCTL.OCX

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

答案 3 :(得分:0)

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

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

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