不幸的是我需要对旧的VB6应用程序进行更改。我注意到mscomctl.ocx中的图像组合在Windows 7中无法正常工作。即使将图像链接到图像列表控件,也不会显示图像,并且在XP中工作正常。
有谁知道为什么这可能会在Win 7中出现故障并建议修复?
答案 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。