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

标签 delphi vcl-styles

我用一个 PngBitBtn 制作了一个简单的项目,然后使用以下配置对其进行编译:

  1. 运行时主题已禁用
    • Debug模式 - 确定
    • Release模式 - 确定
  2. 运行时主题已启用
    • Debug模式 - 确定
    • Release模式 - PngBitBtn 上没有标题

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

提前谢谢你,蒂姆

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

打印屏幕:

Print Screen

最佳答案

这只是一个错误!

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

  Offset := TPoint.Create(0, 0);

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

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

关于delphi - 启用运行时主题时,不显示 PngBitBtn 的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318747/

相关文章:

android - 适用于手机和平板电脑的应用程序

delphi - delphi中的变体记录

delphi - 添加ini文件作为资源文件并从中读取

delphi - 计算 TLabel 所需的大小

delphi - Delphi TTaskDialog 可以使用 VCLStyles 吗?

delphi - 如何申请 TLinkLabel 的 VCLStyle

delphi - 如何使用 VCL.Styles 获取表单背景颜色

Delphi TSplitter 闪烁问题

delphi - VCL 样式随机中断

delphi - 永久 "File not found"