我对来自TabList
的表单有COMCTL32.OCX
控件。
在开发机器上它显示正常,但在XP和Win7的干净VM上,其中一个选项卡出现奇怪的颜色。
可能是什么问题?
编辑:我发现问题与主题有关。在XP中,当我从默认主题更改为“Windows Classic”时,问题就消失了。考虑到主题的变化,我怎样才能使这个控件正确地着色?我唯一能找到的是这个讨论:Common Controls Tab Control Defects when themed答案 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