从Delphi VCL样式中获取特定图示符

从Delphi VCL样式中获取特定图示符,delphi,vcl-styles,Delphi,Vcl Styles,我想从VCL样式中获取一个特定的位图-并将其设置为按钮上的图像-它实际上是帮助问号。在位图样式编辑器中,是来自表单的btnHelp图像 要从VCL样式获取可视元素(glyph),必须使用GetElementDetails和TCustomStyleServices.draureElement过程 试试这个样品 uses Vcl.Themes; {$R *.dfm} procedure TForm1.PaintBox1Paint(Sender: TObject); var LDetail

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

要从VCL样式获取可视元素(glyph),必须使用
GetElementDetails
TCustomStyleServices.draureElement
过程

试试这个样品

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;

完美。我可以得到没有主题的图标,但没有主题的。