![]() |
Syles in eigener Komponente verwenden.
Ich habe einige visuelle Komponenten selber Programmiert. Diese sind nachfahren von TGraphicControl.
Das Problem ist nun, dass bei Verwendung von Styles, diese Komponenten nicht mitgestyled werden. (Bei einem "schwarzen" Layout, bleiben meine Komponenten "weis") Wie kann ich beim "neu zeichnen" herausfinden welche Hintergrundfarbe ein gestyltes z.B. TEdit hat. Ich könnte in der Komponente natürlich "versteckt" ein TEdit erzeugen und dort die Farbe auslesen. Das ist aber wohl nicht der Sinn der Sache. |
AW: Syles in eigener Komponente verwenden.
Wenn es nur um Farben geht mache ich das in etwa so:
Delphi-Quellcode:
Für alles andere bieten die StyleServices natürlich auch Funktionen und Konstanten (zu finden in Vcl.Themes.pas).
{ Set the color of label text }
if (StyleServices.Enabled) And (seFont In StyleElements) then begin if not Enabled then Canvas.Font.Color := StyleServices.GetStyleFontColor(sfWindowTextDisabled) else Canvas.Font.Color := StyleServices.GetStyleFontColor(sfWindowTextNormal); end else begin if not Enabled then Canvas.Font.Color := clGrayText else Canvas.Font.Color := iColr; end; Canvas.TextOut(xo+CDO, yo+CDO, Text); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz