什么是Windows Common Controls 6.0组件(MSCOMCTL.OCX)的正确来源? [英] What's the proper source for Windows Common Controls 6.0 component (MSCOMCTL.OCX)?

查看:1368
本文介绍了什么是Windows Common Controls 6.0组件(MSCOMCTL.OCX)的正确来源?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在试验编写ActiveX控件,并注意到我似乎不能在Visual Basic(6.0)中创建一个ActiveX控件,它具有更复杂的控件。简单的控件,如标签,按钮和复选框似乎工作正常,但只要我尝试添加例如。树控件到我的窗体,ActiveX控件保持完全空白,只要我将其嵌入到另一台计算机上的某个主机应用程序。

I'm experimenting with writing ActiveX controls and noticed that I can't seem to create an ActiveX control in Visual Basic (6.0) which features slightly more sophisticated controls. Simple controls like labels, buttons and check boxes seem to work fine, but as soon as I try to add e.g. a tree control to my form, the ActiveX control stays entirely blank as soon as I embed it into some host application on another computer. It works fine on my development box though.

在浏览Projects-> Components(Ctrl + T)列表时,我发现了两个显示包含树控件:

While going through the Projects->Components (Ctrl+T) list, I found two libraries which apparently contain a tree control:


  • Microsoft Windows Common Controls 5.0(SP2)

  • Microsoft Windows Common Controls 6.0(SP6)

只要我将这些库中的任何控件添加到我的表单,当嵌入在另一台计算机上。另一台计算机是Windows XP系统,所以我希望缺失的可再发行组件不会是一个问题,考虑到多么老的Visual Basic 6。可以肯定,我安装了VB6的可再发行组件,但不幸的是没有什么区别。

As soon as I add any of the controls from these libraries to my form, the form stays entirely gray when embedded on another computer. The other computer is a Windows XP system, so I hoped that missing redistributables wouldn't be an issue, given how old Visual Basic 6 is. To be sure, I installed the VB6 redistributables, but unfortunately that didn't make a difference.

有人知道为什么我的ActiveX控件将保持其他电脑上的灰色,但不是在我的,一旦我添加任何控件从上面的库给我形成? FWIW我只需要一个树控件,如果有一些其他的,更适当的库可用 - 这对我很好。

Does anybody know why my ActiveX control would stay gray on other computers, but not on mine, as soon as I add any of the controls from the above libraries to me form? FWIW I just need a tree control so if there is some other, more appropriate, library available - that's fine with me.

更新:
事实证明,它有助于将MSCOMCTL.OCX下载到另一台计算机上的C:\WINDOWS\SYSTEM32中,然后通过 regsvr32 C:\WINDOWS\SYSTEM32\ MSCOMCTL.OCX 。但是,我没有找到这个文件的官方来源,并手动运行COM注册看起来很麻烦我。

UPDATE: As it turned out, it helps to download MSCOMCTL.OCX into C:\WINDOWS\SYSTEM32 on the other computer and then registering it via regsvr32 C:\WINDOWS\SYSTEM32\MSCOMCTL.OCX. However, I didn't find an official source for this file, and running the COM registration by hand looks cumbersome to me. Is there really no redistributable I could use?

推荐答案

VB6运行时预装在XP及以上版本上,但你所引用的Common Controls组件不是。

VB6 runtime is preinstalled on XP and above but the Common Controls component you are referencing is not.

尝试安装 Microsoft Visual Basic 6.0常见控件在客户端计算机或事件上更好地为您的应用程序设置。

Try installing Microsoft Visual Basic 6.0 Common Controls redistributable on the client machines or event better make a setup for your application.

编辑:

打开,链接用于未安装OCX的更新。我发现的唯一可分发内容是Windows Installer的合并模块

Opps, the link is for an update that does not install the OCXs if not already present. The only redistributable I find is a merge module for Windows Installer.

这篇关于什么是Windows Common Controls 6.0组件(MSCOMCTL.OCX)的正确来源?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆