我为我的Delphi 6应用程序创建了清单文件,因此它可以根据Windows定义的主题(控件6.0)显示控件.一切看起来很好,除了TBitBtn组件,使用遗留主题显示:

无论当前主题如何,即使没有为TBitBtn组件分配图像,Windows XP和Windows 7上的行为也是相同的.
现在,当我TButton在表单上放置常规组件时,它会显示OK.如果我在运行时(使用SendMessage(Handle, BM_SETIMAGE, IMAGE_ICON, LPARAM(Icon)))以编程方式将图像设置为此按钮,它会立即将其样式恢复为旧样式.
有没有办法要么TBitBtn使用正确的样式,要么在常规上显示字形TButton而不恢复到Delphi 6中的遗留字体?