【问题标题】:How to Delphi "Custom Title Bar for VCL Forms" Add caption or glyph to custom button?如何 Delphi“VCL 表单的自定义标题栏”为自定义按钮添加标题或字形?
【发布时间】:2021-05-06 09:47:28
【问题描述】:

我在自定义按钮上使用 onPaint 事件处理程序,但我不知道要编写什么来获取图像列表或向此按钮添加标题。

 procedure TForm1.TitleBarPanel1CustomButtons0Paint(Sender: TObject);
 begin
   ...
 end;

【问题讨论】:

  • 考虑不使用自定义标题栏。
  • 如果你去这个链接,你会看到它的描述但没有代码示例docwiki.embarcadero.com/RADStudio/Sydney/en/…
  • 我知道。我也尝试过但放弃了,因为它不是很直接。不过,我的观点是:根本不要使用自定义的标题栏。
  • @AndreasRejbrand 为什么要考虑不使用它?!它是官方解决方案,我只需要帮助如何处理它!
  • @TomBrunberg:非常正确。我使用 Win32 和 Delphi 已有 20 多年了,我没有任何动力去学习任何其他平台或语言,所以我很高兴 Embarcadero 让 Delphi 保持活力(即使我倾向于直言不讳地谈论IDE 最近的质量问题)。

标签: delphi vcl


【解决方案1】:

在这个事件处理程序中,Sender 实际上是一个TSystemTitlebarButton。您可以将其转换为访问他的属性,例如Canvas。有了Canvas,你可以画任何需要的东西。

简单使用示例:

procedure TForm1.TitleBarPanel1CustomButtons0Paint(Sender: TObject);
begin
   (Sender as TSystemTitlebarButton).Canvas.Rectangle(0, 0, 10, 10);
end;

【讨论】:

    猜你喜欢
    • 2012-02-04
    • 2011-09-04
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多