TabList控件无法正确显示

时间:2012-02-29 10:11:32

标签: vb6 tabs

我对来自TabList的表单有COMCTL32.OCX控件。

在开发机器上它显示正常,但在XP和Win7的干净VM上,其中一个选项卡出现奇怪的颜色。

可能是什么问题?

编辑:我发现问题与主题有关。在XP中,当我从默认主题更改为“Windows Classic”时,问题就消失了。考虑到主题的变化,我怎样才能使这个控件正确地着色?我唯一能找到的是这个讨论:Common Controls Tab Control Defects when themed

1 个答案:

答案 0 :(得分:0)

虽然我从未观察到这种行为,但我会猜测您可以使用以下方法之一解决问题:

使用以下内容创建清单文件。将文件命名为与项目EXE名称匹配,扩展名为.manfest。例如。 Project1.exe.manifest。将清单文件放在与可执行文件相同的位置并运行它。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" processorArchitecture="*" version="6.0.0.0" name="mash"/>
<description>Enter your Description Here</description>
<dependency>
   <dependentAssembly>
      <assemblyIdentity
           type="win32"
           name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
           language="*"
           processorArchitecture="*"
         publicKeyToken="6595b64144ccf1df"
      />
   </dependentAssembly>
</dependency>
</assembly>

或者,您可以尝试将以下代码添加到包含MS选项卡式控件的表单中:

Private Declare Sub InitCommonControls Lib "comctl32.dll" ()   

Private Sub Form_Initialize()  
    InitCommonControls  
End Sub