Delphi 6中的Windows XP主题管理器和Tnt Unicode

Delphi 6中的Windows XP主题管理器和Tnt Unicode,delphi,user-interface,unicode,themes,delphi-6,Delphi,User Interface,Unicode,Themes,Delphi 6,我正在使用Windows XP主题管理器,以便在我的Delphi 6应用程序中具有6.0控件的外观(提供了清单)。我对一些Tnt Unicode控件有问题,例如TTntBitBtn。如下图所示,所有WideString标题都被视为常规字符串(左:TTntButton,右:TTntBitBtn): 有没有办法让Windows XP主题管理器正确处理Tnt Unicode组件(反之亦然)?由于某种原因,Tnt Unicode控件(2.3.0)的上一个免费版本中缺少正确显示主题组件所需的TTntTh

我正在使用Windows XP主题管理器,以便在我的Delphi 6应用程序中具有6.0控件的外观(提供了清单)。我对一些Tnt Unicode控件有问题,例如
TTntBitBtn
。如下图所示,所有
WideString
标题都被视为常规字符串(左:
TTntButton
,右:
TTntBitBtn
):


有没有办法让Windows XP主题管理器正确处理Tnt Unicode组件(反之亦然)?

由于某种原因,Tnt Unicode控件(2.3.0)的上一个免费版本中缺少正确显示主题组件所需的
TTntThemeManager
。包含管理器(2.2.3)的版本在上仍然可用。这就是我如何将管理器合并到最新版本并使所有组件正确显示的方法

程序如下:

  • 下载

  • 将文件
    TntThemeMgr.pas
    TntThemeMgrDB.pas
    复制到安装Tnt Unicode控件的文件夹中(通常
    $(程序文件)\TntWare\Delphi Unicode控件\Source

  • 将资源文件
    TntThemeMgr.dcr
    TntThemeMgrDB.dcr
    与其他资源文件一起复制到文件夹中(通常
    $(程序文件)\TntWare\Delphi Unicode Controls\Design

  • 将文件
    TntThemeManager6.cfg
    TntThemeManager6.dof
    TntThemeManager6.dpk
    TntThemeManager6.res
    与其余两个包(通常为
    $(程序文件)\TntWare\Delphi Unicode Controls\Delphi\d6
    复制到文件夹中

  • 在文件
    TntThemeManager6.dpk
    中,更正到资源文件的两个路径:
    {$R'..\Design\TntThemeMgr.dcr'}
    {$R'..\Design\TntThemeMgrDB.dcr'}

  • 在同一文件中,更正源文件的两个路径:“..\..\Design\tntthemmgr.pas”中的
    tntthemmgr和“..\..\Design\tntthemmgrdb.pas”中的
    tntthemmgrdb

  • 最后,在同一个文件中,将第一个需求从
    管理器6
    更改为
    管理器6

  • 从Delphi中打开
    tntThemeManager 6.dpk
    包文件并编译它

  • 如果一切正常,两个新组件——
    TntThemeManager
    TntThemeManager数据库
    将添加到Delphi中的
    TntAdditional
    调色板中。将
    tntthemanager
    添加到表单中,如果您提供了清单文件,您将得到正确的结果:


    您是否尝试过使用
    TntThemeMgr
    单元中定义的TTntThemeManager类?没有这样的单元,至少在免费版本(2.3.0)中没有。它在2.2.3中提供。我不知道为什么它会被移除。可能它干扰了Delphi7,Delphi7本身就包含了主题支持。