从 Delphi VCL 样式中获取特定字形

Get a specific glyph from Delphi VCL Style

我想从 VCL 样式获取特定位图 - 并将其设置为按钮上的图像 - 它实际上是帮助问号。在位图样式编辑器中是来自窗体的 btnHelp 图像。

要从 VCL 样式中获取可视元素(字形),您必须使用 GetElementDetailsTCustomStyleServices.DrawElement 过程。

试试这个示例

uses
  Vcl.Themes;

{$R *.dfm}

procedure TForm1.PaintBox1Paint(Sender: TObject);
var
  LDetails : TThemedElementDetails;
begin
  //Get the detailsfor the HelpButton
  LDetails := StyleServices.GetElementDetails(twHelpButtonNormal);
  //Draw the the element in the canvas.
  StyleServices.DrawElement(TPaintBox(Sender).Canvas.Handle, LDetails, TPaintBox(Sender).ClientRect);
end;