【发布时间】:2014-12-03 12:58:35
【问题描述】:
我为我的 Delphi 6 应用程序创建了清单文件,以便它可以根据 Windows 定义的主题显示控件(控件 6.0)。一切看起来都很好,除了TBitBtn 组件,它使用旧主题显示:
无论当前主题如何,Windows XP 和 Windows 7 上的行为都是相同的,即使没有将图像分配给 TBitBtn 组件。
现在,当我将常规 TButton 组件放在表单上时,它会显示 OK。如果我在运行时以编程方式为该按钮设置图像(使用SendMessage(Handle, BM_SETIMAGE, IMAGE_ICON, LPARAM(Icon))),它会立即将其样式恢复为旧样式。
有没有办法让TBitBtn 使用正确的样式,或者在常规TButton 上显示字形而不恢复到Delphi 6 中的旧样式?
【问题讨论】:
-
我不会指望
BM_SETIMAGE使用 WinXP(设置或不设置BS_ICON样式)。它没有按预期工作!用win7应该没问题。 -
你是对的 - 它删除了标题但它显示了图像(并恢复了样式)。 WM_SETICON 不起作用。
标签: delphi user-interface button manifest delphi-6