Hallo,
ich möchte in eine Paintbox den Rahmen von einem TEdit zeichnen. Dabei soll das aktive Theme (XP,Vista,7) verwendet werden. Ich habe es mit dem Code unten probiert, doch der gezeichnete Rahmen sieht nicht so aus wie der Rahmen vom TEdit. Im Bildschirmfoto mein mit der Paintbox gezeichneter Rahmen und zum Vergleich ein TEdit, so wie es aussehen soll. Danke für die Hilfe! Bitte ganz genau hinschauen, sonst sieht man evtl. die Unterschiede nicht.
Delphi-Quellcode:
uses Themes;
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
Details: TThemedElementDetails;
begin
if ThemeServices.ThemesEnabled then
begin
Details := ThemeServices.GetElementDetails(teEditRoot);
ThemeServices.DrawElement(PaintBox1.Canvas.Handle, Details, PaintBox1.ClientRect);
end;
end;