Sign in Join
Wiki copytemporary

Colors/de: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-## Contents
2-
3- * 1 Überblick
4- * 1.1 Umwandlung der Werte zwischen TColor und RGB
5- * 1.2 umwandeln des Typs TColor von/in den Typ String
6- * 2 Tabelle der Standardfarben
7- * 3 Systemfarben
8- * 3.1 Beispiel: clInfoBk, clInfoText
9- * 3.2 Ändern des Fensterthemas des Betriebssystems
10- * 3.3 Tabelle der Systemfarben
11- * 4 Zeichnen von Elementen der Unit Themes auf Ihre benutzerdefinierte Steuerelemente
12-
131# Überblick
142
15-Die Standardfarben sind in der LCL (Komponentenbibliothek) TColor festgelegt. Diese Standardfarben sind mit der VCL (Komponentenbibliothek) TColor von Delphi kompatibel. Der Typ TColor kann eine RGB Farbe (3x8bit), oder eine Systemfarbe wie clDefault anzeigen. Die Komponentenbibliothek arbeitet auch mit dem Typ TFPColor des fpImage Farbsystems zusammen. Der Typ TFPColor stellt die Farben nach RGBA (4x16bit) dar und nicht wie der Typ TColor nach RGB (3x8bit) dar.
3+Die Standardfarben sind in der LCL (Komponentenbibliothek) TColor festgelegt. Diese Standardfarben sind mit der VCL (Komponentenbibliothek) TColor von Delphi kompatibel. Der Typ TColor kann eine RGB Farbe (3x8bit), oder eine Systemfarbe wie clDefault anzeigen. Die Komponentenbibliothek arbeitet auch mit dem Typ TFPColor des fpImage Farbsystems zusammen. Der Typ TFPColor stellt die Farben nach RGBA (4x16bit) dar und nicht wie der Typ TColor nach RGB (3x8bit) dar.\
164
175## Umwandlung der Werte zwischen TColor und RGB
186
19-Die Unit **Graphics** bietet folgende Funktionen:
20-```
7+Die Unit **Graphics** bietet folgende Funktionen:
8+
9+``` pascal
2110function Blue(rgb: TColor): BYTE; // arbeitet nicht mit den vordefinierten Systemfarben zusammen
22- function Green(rgb: TColor): BYTE; // arbeitet nicht mit den vordefinierten Systemfarben zusammen
23- function Red(rgb: TColor): BYTE; // arbeitet nicht mit den vordefinierten Systemfarben zusammen
24- function RGBToColor(R, G, B: Byte): TColor;
25- procedure RedGreenBlue(rgb: TColor; out Red, Green, Blue: Byte); // arbeitet nicht mit den vordefinierten Systemfarben zusammen
26- function FPColorToTColor(const FPColor: TFPColor): TColor;
27- function TColorToFPColor(const c: TColor): TFPColor; // arbeitet nicht mit den vordefinierten Systemfarben zusammen
28- function IsSysColor(AColor: TColorRef): Boolean;
11+function Green(rgb: TColor): BYTE; // arbeitet nicht mit den vordefinierten Systemfarben zusammen
12+function Red(rgb: TColor): BYTE; // arbeitet nicht mit den vordefinierten Systemfarben zusammen
13+function RGBToColor(R, G, B: Byte): TColor;
14+procedure RedGreenBlue(rgb: TColor; out Red, Green, Blue: Byte); // arbeitet nicht mit den vordefinierten Systemfarben zusammen
15+function FPColorToTColor(const FPColor: TFPColor): TColor;
16+function TColorToFPColor(const c: TColor): TFPColor; // arbeitet nicht mit den vordefinierten Systemfarben zusammen
17+function IsSysColor(AColor: TColorRef): Boolean;
2918```
3019
3120## umwandeln des Typs TColor von/in den Typ String
3221
33-Funktionen die Strings wie "25500 oder "$AA0088" oder "clNavy" nach TColor umwandeln:
34-
35- * StringToColor
36- * StringToColorDef
22+Funktionen die Strings wie "25500 oder "\$AA0088" oder "clNavy" nach TColor umwandeln:
3723
38-Wandelt den Typ TColor in den Typ String um:
24+- StringToColor
25+- StringToColorDef
3926
40- * ColorToString
27+Wandelt den Typ TColor in den Typ String um:
4128
42-
29+- ColorToString\
4330
4431# Tabelle der Standardfarben
4532
46-Diese vordefinierten Farbkonstanten sind mit den Farbkonstanten in Delphi kompatibel:
33+Diese vordefinierten Farbkonstanten sind mit den Farbkonstanten in Delphi kompatibel:
4734
48-Farbkonstante | Farbe | Hexadezimalwert für die Verwendung mit TColor | Beispiel
49----|---|---|---
50-clBlack | Black | TColor($000000); |
51-clMaroon | Maroon | TColor($000080); |
52-clGreen | Green | TColor($008000); |
53-clOlive | Olive Green | TColor($008080); |
54-clNavy | Navy Blue | TColor($800000); |
55-clPurple | Purple | TColor($800080); |
56-clTeal | Teal | TColor($808000); |
57-clGray | Grey | TColor($808080); |
58-clSilver | Silver | TColor($C0C0C0); |
59-clRed | Red | TColor($0000FF); |
60-clLime | Lime Green | TColor($00FF00); |
61-clYellow | Yellow | TColor($00FFFF); |
62-clBlue | Blue | TColor($FF0000); |
63-clFuchsia | Fuchsia | TColor($FF00FF); |
64-clAqua | Aqua | TColor($FFFF00); |
65-clLtGray | Light Grey | TColor($C0C0C0); | alias: clSilver
66-clDkGray | Dark Grey | TColor($808080); | alias: clGray
67-clWhite | White | TColor($FFFFFF); |
68-clCream | Cream | TColor($F0FBFF); | Version: Lazarus 1.2 und höher
69-clMedGray | Medium Grey | TColor($A4A0A0); | Version: Lazarus 1.2 und höher
70-clMoneyGreen | Mint Green | TColor($C0DCC0); | Version: Lazarus 1.2 und höher
71-clSkyBlue | Sky Blue | TColor($F0CAA6); | Version: Lazarus 1.2 und höher
72-
35+| Farbkonstante | Farbe | Hexadezimalwert für die Verwendung mit TColor | Beispiel |
36+|----|----|----|----|
37+| clBlack | Black | TColor(\$000000); | |
38+| clMaroon | Maroon | TColor(\$000080); | |
39+| clGreen | Green | TColor(\$008000); | |
40+| clOlive | Olive Green | TColor(\$008080); | |
41+| clNavy | Navy Blue | TColor(\$800000); | |
42+| clPurple | Purple | TColor(\$800080); | |
43+| clTeal | Teal | TColor(\$808000); | |
44+| clGray | Grey | TColor(\$808080); | |
45+| clSilver | Silver | TColor(\$C0C0C0); | |
46+| clRed | Red | TColor(\$0000FF); | |
47+| clLime | Lime Green | TColor(\$00FF00); | |
48+| clYellow | Yellow | TColor(\$00FFFF); | |
49+| clBlue | Blue | TColor(\$FF0000); | |
50+| clFuchsia | Fuchsia | TColor(\$FF00FF); | |
51+| clAqua | Aqua | TColor(\$FFFF00); | |
52+| clLtGray | Light Grey | TColor(\$C0C0C0); | alias: clSilver |
53+| clDkGray | Dark Grey | TColor(\$808080); | alias: clGray |
54+| clWhite | White | TColor(\$FFFFFF); | |
55+| clCream | Cream | TColor(\$F0FBFF); | Version: Lazarus 1.2 und höher |
56+| clMedGray | Medium Grey | TColor(\$A4A0A0); | Version: Lazarus 1.2 und höher |
57+| clMoneyGreen | Mint Green | TColor(\$C0DCC0); | Version: Lazarus 1.2 und höher |
58+| clSkyBlue | Sky Blue | TColor(\$F0CAA6); | Version: Lazarus 1.2 und höher |
59+
7360# Systemfarben
7461
7562## Beispiel: clInfoBk, clInfoText
7663
77-Systemfarben sind Farbkonstanten mit einer besonderen Bedeutung. Ihr wirklicher Wert hängt vom Kontext und dem Windowsthema ab. Sie sind keine einfachen Farben.
64+Systemfarben sind Farbkonstanten mit einer besonderen Bedeutung. Ihr wirklicher Wert hängt vom Kontext und dem Windowsthema ab. Sie sind keine einfachen Farben.
7865
79-**clInfoBk** zum Beispiel:
80-```
66+**clInfoBk** zum Beispiel:
67+
68+``` pascal
8169Form1.Canvas.Brush.Color:=clInfoBk; // verwende den Standardhintergrund Pinsel für ein Hinweisfenster
82- Form1.Canvas.FillRect(10,10,50,50);
70+Form1.Canvas.FillRect(10,10,50,50);
8371```
8472
85-Ein Hinweisfenster unter MS-Windows könnte einen weißen Hintergrund haben. Unter Linux/GTK2 könnte das Hinweisfenster eine metallische Beschaffenheit haben. Wenn Sie nun einen Text in diese Fläche schreiben möchten, dann müssen Sie, wenn Sie den Text lesen möchten die Farbe auf einen Wert wie clInfoText ändern. Zum Beispiel:
73+Ein Hinweisfenster unter MS-Windows könnte einen weißen Hintergrund haben. Unter Linux/GTK2 könnte das Hinweisfenster eine metallische Beschaffenheit haben. Wenn Sie nun einen Text in diese Fläche schreiben möchten, dann müssen Sie, wenn Sie den Text lesen möchten die Farbe auf einen Wert wie clInfoText ändern. Zum Beispiel:\
8674
87-```
75+``` pascal
8876Form1.Canvas.Brush.Color:=clInfoBk; // verwende den Pinsel für die Standardhintergrundfarbe für ein Hinweisfenster
89- Form1.Canvas.FillRect(10,10,50,50);
90- Form1.Canvas.Font.Color:=clInfoText; // verwende den Pinsel für die Standardtextfarbe für ein Hinweisfenster
91- Form1.Canvas.TextOut(10,10,'Hint');
77+Form1.Canvas.FillRect(10,10,50,50);
78+Form1.Canvas.Font.Color:=clInfoText; // verwende den Pinsel für die Standardtextfarbe für ein Hinweisfenster
79+Form1.Canvas.TextOut(10,10,'Hint');
9280```
9381
94-
95-Die Systemfarbe **clInfoBk** kann nicht für Pen.Color und nicht für Font.Color verwendet werden. Wenn Sie dies tun, dann ist das Ergebnis nicht definiert und hängt vom verwendeten widgetset (= Sammlung von Grafik Bibliotheken) und dem vom Benutzer gewählten Thema (= grafische Darstellung der Betriebssystemoberfläche) ab. Das gleiche gilt für **clInfoText**. Es kann nur als Font.Color verwendet werden. eine Verwendung mit Brush.Color wird nicht funktionieren. Im Moment erlauben alle widgetsets die Verwendung mit Pen.Color.
96-
97-## Ändern des Fensterthemas des Betriebssystems
98-
99-Wenn z. B. der Benutzer das Thema (= grafische Darstellung der Betriebssystemoberfläche) wechselt dann kann das Betriebssystem seine Farben ändern. **clInfoBk** kann sich z. B. von weiß nach blau ändern oder von einer Farbe zu einer Textur. Das kann dem Programmierer Probleme bereiten. Das liegt daran, das sich der Farbwert der vordefinierten Systemfarben im eigenen Programm nicht automatisch anpasst. Der Programmierer muss dafür sorgen, das die Systemfarben den aktuellen Wert erhalten.
100-Dazu ist ein Zwischenschritt nötig.
101-Beispiel:
82+Die Systemfarbe **clInfoBk** kann nicht für Pen.Color und nicht für Font.Color verwendet werden. Wenn Sie dies tun, dann ist das Ergebnis nicht definiert und hängt vom verwendeten widgetset (= Sammlung von Grafik Bibliotheken) und dem vom Benutzer gewählten Thema (= grafische Darstellung der Betriebssystemoberfläche) ab. Das gleiche gilt für **clInfoText**. Es kann nur als Font.Color verwendet werden. eine Verwendung mit Brush.Color wird nicht funktionieren. Im Moment erlauben alle widgetsets die Verwendung mit Pen.Color.\
83+==Ändern des Fensterthemas des Betriebssystems== Wenn z. B. der Benutzer das Thema (= grafische Darstellung der Betriebssystemoberfläche) wechselt dann kann das Betriebssystem seine Farben ändern. **clInfoBk** kann sich z. B. von weiß nach blau ändern oder von einer Farbe zu einer Textur. Das kann dem Programmierer Probleme bereiten. Das liegt daran, das sich der Farbwert der vordefinierten Systemfarben im eigenen Programm nicht automatisch anpasst. Der Programmierer muss dafür sorgen, das die Systemfarben den aktuellen Wert erhalten.\
84+Dazu ist ein Zwischenschritt nötig.\
85+Beispiel:\
10286
103-```
87+``` pascal
10488Form1.Canvas.Brush.Color:=clInfoBk; // der Pinsel erhält die aktuellen Systemfarben
105- Form1.Canvas.FillRect(10,10,50,50); // dies erstellt einen Pinsel mit dem Farbwert
106- // des Hinweisfensters des aktiven Fensterthemas
107- ...
108- // Wenn das Thema (= grafische Darstellung der Betriebssystemoberfläche) vom Anwender
109- // zwischenzeitlich geändert wird, dann hat der Pinsel noch die vorhergehenden Farbwerte
110- ...
111- Form1.Canvas.FillRect(10,10,50,50); // mit dem Pinsel wird der Farbwert des vorhergehenden Themas gezeichnet
112- Form1.Canvas.Brush.Color:=clInfoBk; // durch eine erneute Zuweisung wird der
113- // vorhergehenden Farbwert nicht aktualisiert
114- Form1.Canvas.FillRect(10,10,50,50); // mit dem Pinsel wird der Farbwert des alten Themas gezeichnet
115- Form1.Canvas.Brush.Color:=clRed; // eine Zuweisung mit einem neuen Farbwert macht den
116- // vorhergehenden Farbwert ungültig
117- Form1.Canvas.Brush.Color:=clInfoBk; // eine Zuweisung mit einem neuen Farbwert macht den
118- // vorhergehenden Farbwert ungültig
119- Form1.Canvas.FillRect(10,10,50,50); // jetzt, wird der Farbwert des aktuellen Themas verwendet
89+Form1.Canvas.FillRect(10,10,50,50); // dies erstellt einen Pinsel mit dem Farbwert
90+ // des Hinweisfensters des aktiven Fensterthemas
91+...
92+// Wenn das Thema (= grafische Darstellung der Betriebssystemoberfläche) vom Anwender
93+// zwischenzeitlich geändert wird, dann hat der Pinsel noch die vorhergehenden Farbwerte
94+...
95+Form1.Canvas.FillRect(10,10,50,50); // mit dem Pinsel wird der Farbwert des vorhergehenden Themas gezeichnet
96+Form1.Canvas.Brush.Color:=clInfoBk; // durch eine erneute Zuweisung wird der
97+ // vorhergehenden Farbwert nicht aktualisiert
98+Form1.Canvas.FillRect(10,10,50,50); // mit dem Pinsel wird der Farbwert des alten Themas gezeichnet
99+Form1.Canvas.Brush.Color:=clRed; // eine Zuweisung mit einem neuen Farbwert macht den
100+ // vorhergehenden Farbwert ungültig
101+Form1.Canvas.Brush.Color:=clInfoBk; // eine Zuweisung mit einem neuen Farbwert macht den
102+ // vorhergehenden Farbwert ungültig
103+Form1.Canvas.FillRect(10,10,50,50); // jetzt, wird der Farbwert des aktuellen Themas verwendet
120104```
121105
122106## Tabelle der Systemfarben
123107
124-In der folgenden Tabelle werden die Systemfarben und ihre Bedeutung aufgelistet. Werden die Systemfarben ausserhalb des definierten Geltungsbereiches verwendet, dann ist das Ergebnis unvorhersehbar. Die Systemfarben sind immer vom aktuell verwendeten Widget-Set (eine Sammlung von grafischen Bedienelementen) und dem aktuell verwendeten Thema (grafische Darstellung der Betriebssystemoberfläche) abhängig.
108+In der folgenden Tabelle werden die Systemfarben und ihre Bedeutung aufgelistet. Werden die Systemfarben ausserhalb des definierten Geltungsbereiches verwendet, dann ist das Ergebnis unvorhersehbar. Die Systemfarben sind immer vom aktuell verwendeten Widget-Set (eine Sammlung von grafischen Bedienelementen) und dem aktuell verwendeten Thema (grafische Darstellung der Betriebssystemoberfläche) abhängig.
125109
126-Konstante | LCL Definition | Unterstützte Widgetsets
127----|---|---
128-clNone | Der Farbwert ist nicht definiert. D. h. er hat keine Auswirkungen bzw. er kann im Einzelfall einen weißen Farbwert haben. | alle
129-clDefault | Verwendet die vorgesehene Standardfarbe | alle
130-clScrollBar | Scrollbar Körper | alle
131-clBackground | ? | alle
132-clActiveCaption | Titelleiste des aktiven Fensters | kein
133-clInactiveCaption | Titelleiste des inaktiven Fensters | kein
134-clMenu | Regular menu item background color | kein
135-clWindow | The normal background brush of unselected text. Defined for controls like TEdit, TComboBox, TMemo, TListBox, TTreeView. | kein
136-clWindowFrame | Farbe der Rahmen um das Fenster | kein
137-clMenuText | Die Schriftfarbe ist zusammen mit clMenu zu verwenden | kein
138-clWindowText | Die Schriftfarbe ist zusammen mit clWindow zu verwenden | kein
139-clCaptionText | Textfarbe das aktiven Fensters | kein
140-clActiveBorder | ? | kein
141-clInactiveBorder | ? | kein
142-clAppWorkspace | MDIMain form background | kein
143-clHighlight | Die Pinselfarbe des ausgewählten Elements | kein
144-clHighlightText | Schriftfarbe vom ausgewählten Text (zusammen mit clHighligh). | kein
145-clBtnFace | Button Hintergrund | kein
146-clBtnShadow | Farbe des Button Schattens wird verwendet, um 3D-Effekt zu erzielen | kein
147-clGrayText | Die Schriftfarbe von einem deaktiverten Element | kein
148-clBtnText | Button Schriftfarbe zu verwenden mit clBtnFace | kein
149-clInactiveCaptionText | Textfarbe der inaktiven Fenstertitelleiste | kein
150-clBtnHighlight | Button Farbhervorhebung wird verwendet, um 3D-Effekt zu erzielen | kein
151-cl3DDkShadow | ? | kein
152-cl3DLight | ? | kein
153-clInfoText | Schriftfarbe für Hinweise. Ist zu verwenden mit clInfoBk | alle
154-clInfoBk | Pinselfarbe für Hinweisse. Ist zu verwenden mit clInfoText | alle
155-clHotLight | ? | kein
156-clGradientActiveCaption | Die zweit Farbe um die aktive Fenstertitelleiste mit verlaufenden Farben darzustellen | kein
157-clGradientInactiveCaption | Die zweit Farbe um die inaktive Fenstertitelleiste mit verlaufenden Farben darzustellen | kein
158-clMenuHighlight | Die Hintergrundfarbe des ausgewählten Menüpunkts | kein
159-clMenuBar | Die Hintergrundfarbe der Menüleiste | kein
160-clForm | ? | kein
161-clColorDesktop | ? | kein
162-cl3DFace | ? | kein
163-cl3DShadow | ? | kein
164-cl3DHiLight | ? | kein
165-clBtnHiLight | Das Gleiche wie clBtnHighlight | kein
166-
110+| Konstante | LCL Definition | Unterstützte Widgetsets |
111+|----|----|----|
112+| clNone | Der Farbwert ist nicht definiert. D. h. er hat keine Auswirkungen bzw. er kann im Einzelfall einen weißen Farbwert haben. | alle |
113+| clDefault | Verwendet die vorgesehene Standardfarbe | alle |
114+| clScrollBar | Scrollbar Körper | alle |
115+| clBackground | ? | alle |
116+| clActiveCaption | Titelleiste des aktiven Fensters | kein |
117+| clInactiveCaption | Titelleiste des inaktiven Fensters | kein |
118+| clMenu | Regular menu item background color | kein |
119+| clWindow | The normal background brush of unselected text. Defined for controls like TEdit, TComboBox, TMemo, TListBox, TTreeView. | kein |
120+| clWindowFrame | Farbe der Rahmen um das Fenster | kein |
121+| clMenuText | Die Schriftfarbe ist zusammen mit clMenu zu verwenden | kein |
122+| clWindowText | Die Schriftfarbe ist zusammen mit clWindow zu verwenden | kein |
123+| clCaptionText | Textfarbe das aktiven Fensters | kein |
124+| clActiveBorder | ? | kein |
125+| clInactiveBorder | ? | kein |
126+| clAppWorkspace | MDIMain form background | kein |
127+| clHighlight | Die Pinselfarbe des ausgewählten Elements | kein |
128+| clHighlightText | Schriftfarbe vom ausgewählten Text (zusammen mit clHighligh). | kein |
129+| clBtnFace | Button Hintergrund | kein |
130+| clBtnShadow | Farbe des Button Schattens wird verwendet, um 3D-Effekt zu erzielen | kein |
131+| clGrayText | Die Schriftfarbe von einem deaktiverten Element | kein |
132+| clBtnText | Button Schriftfarbe zu verwenden mit clBtnFace | kein |
133+| clInactiveCaptionText | Textfarbe der inaktiven Fenstertitelleiste | kein |
134+| clBtnHighlight | Button Farbhervorhebung wird verwendet, um 3D-Effekt zu erzielen | kein |
135+| cl3DDkShadow | ? | kein |
136+| cl3DLight | ? | kein |
137+| clInfoText | Schriftfarbe für Hinweise. Ist zu verwenden mit clInfoBk | alle |
138+| clInfoBk | Pinselfarbe für Hinweisse. Ist zu verwenden mit clInfoText | alle |
139+| clHotLight | ? | kein |
140+| clGradientActiveCaption | Die zweit Farbe um die aktive Fenstertitelleiste mit verlaufenden Farben darzustellen | kein |
141+| clGradientInactiveCaption | Die zweit Farbe um die inaktive Fenstertitelleiste mit verlaufenden Farben darzustellen | kein |
142+| clMenuHighlight | Die Hintergrundfarbe des ausgewählten Menüpunkts | kein |
143+| clMenuBar | Die Hintergrundfarbe der Menüleiste | kein |
144+| clForm | ? | kein |
145+| clColorDesktop | ? | kein |
146+| cl3DFace | ? | kein |
147+| cl3DShadow | ? | kein |
148+| cl3DHiLight | ? | kein |
149+| clBtnHiLight | Das Gleiche wie clBtnHighlight | kein |
150+
167151# Zeichnen von Elementen der Unit Themes auf Ihre benutzerdefinierte Steuerelemente
168152
169-Die Unit **Themes** bietet Funktionen, um einzelne Elemente der Standard-Controls zu erweitern. Um zum Beispiel ein Contol wie ein TTreeView zu erweitern verwenden Sie folgenden Code:
153+Die Unit Themes bietet Funktionen, um einzelne Elemente der Standard-Controls zu erweitern. Um zum Beispiel ein Contol wie ein TTreeView zu erweitern verwenden Sie folgenden Code:\
170154
171-```
155+``` pascal
172156uses Themes;
173-
174- ...
175-
176- procedure TYourCustomControl.Paint;
177- const
178- PlusMinusDetail: array[Boolean {Hot}, Boolean {Expanded}] of TThemedTreeview =
179- (
180- (ttGlyphClosed, ttGlyphOpened),
181- (ttHotGlyphClosed, ttHotGlyphOpened)
182- );
183- var
184- Details: TThemedElementDetails;
185- R: TRect;
186- Collapse: boolean;
187- begin
188- ...
189- // zeichnet eine Erweiterung
190- Details := ThemeServices.GetElementDetails(PlusMinusDetail[False, Collapse]);
191- R := Rect(ALeft, ATop, ARight + 1, ABottom + 1);
192- ThemeServices.DrawElement(Canvas.Handle, Details, R, nil);
193- ...
194- end;
157+
158+...
159+
160+procedure TYourCustomControl.Paint;
161+const
162+ PlusMinusDetail: array[Boolean {Hot}, Boolean {Expanded}] of TThemedTreeview =
163+ (
164+ (ttGlyphClosed, ttGlyphOpened),
165+ (ttHotGlyphClosed, ttHotGlyphOpened)
166+ );
167+var
168+ Details: TThemedElementDetails;
169+ R: TRect;
170+ Collapse: boolean;
171+begin
172+ ...
173+ // zeichnet eine Erweiterung
174+ Details := ThemeServices.GetElementDetails(PlusMinusDetail[False, Collapse]);
175+ R := Rect(ALeft, ATop, ARight + 1, ABottom + 1);
176+ ThemeServices.DrawElement(Canvas.Handle, Details, R, nil);
177+ ...
178+end;
195179```
196180
197181---
198-*From the Free Pascal wiki, page "Colors/de", as the Internet Archive kept it on 2023-06-03. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
182+*From the Free Pascal wiki, page "Colors/de", as it stood on 2020-02-11 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history