启用运行时主题时,不会显示PngBitBtn的标题

Tim*_*Tim 5 delphi vcl-styles

我用一个PngBitBtn创建了一个简单的项目,然后用以下配置编译它:

  1. 运行时主题已禁用
    • 调试模式 - 好的
    • 发布模式 - 好的
  2. 运行时主题已启用
    • 调试模式 - 好的
    • 发布模式 - PngBitBtn没有标题

正确显示标题的唯一方法是关闭优化.是否可以在不关闭优化的情况下解决此问题?

蒂姆,提前谢谢你

在Delphi XE3,XE6上测试.平台:win32.PNGComponents版本:来自embarcadero CodeCentral的最新版本.

打印屏幕:

打印屏幕

Uwe*_*abe 7

只是一个错误!

要解决此问题,请在PngBitBtn.pas方法的第326行插入以下行TPngBitBtnStyleHook.DrawButton:

  Offset := TPoint.Create(0, 0);
Run Code Online (Sandbox Code Playgroud)

该区域中的代码现在应如下所示:

  if not (Control is TPngBitBtn) then
  begin
    inherited;
    Exit;
  end;
  Offset := TPoint.Create(0, 0);
  DrawRect := Control.ClientRect;
Run Code Online (Sandbox Code Playgroud)