====== Vega.ColorCtrls — Farbauswahl als Liste ====== ''TColorBox'' und ''TColorListBox'' zeigen dieselbe Sache in zwei Formen: eine Zeile je Farbe, links ein Feld in der Farbe, daneben ihr Name. Deshalb steht die Farbtabelle hier einmal und nicht in jeder Klasse. Namen und Bedeutung der ''cb*''-Bits sind aus Delphi/LCL übernommen. Quelldatei: ''Vega/ColorCtrls.lyx'' → [[lyx_-_programmiersprache:vega:units|Alle Units]] · [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega|Vega VCL]] ---- ===== Klassen ===== ^ Klasse ^ Basis ^ Zweck ^ | ''TColorBox'' | [[lyx_-_programmiersprache:vega:controls:tcombobox|TComboBox]] | Eingeklappte Farbauswahl (auf Grundlage von ''TComboBox'') | | ''TColorListBox'' | [[lyx_-_programmiersprache:vega:controls:tlistbox|TListBox]] | Aufgeklappte Farbauswahl (auf Grundlage von ''TListBox'') | ===== Typaliase ===== ^ Name ^ Ist ^ Zweck ^ | ''TGetColorsEvent'' | ''fn(sender: TControl, names: TStringList, colors: TIntArray, count: int64): int64'' | Handler, um die angebotene Liste selbst zusammenzustellen | ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Bedeutung ^ | ''cbStandardColors'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''1'' | Auswahl: Standardfarben | | ''cbExtendedColors'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''2'' | Auswahl: erweiterte Farben | | ''cbSystemColors'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''4'' | Auswahl: Systemfarben | | ''cbIncludeNone'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''8'' | Auswahl: Eintrag „keine“ mitzeigen | | ''cbIncludeDefault'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''16'' | Auswahl: Eintrag „Vorgabe“ mitzeigen | | ''cbCustomColor'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''32'' | Auswahl: Eintrag für eine eigene Farbe | | ''cbPrettyNames'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''64'' | Namen mit Leerzeichen statt in Pascal-Schreibweise (''Money Green'' statt ''clMoneyGreen'') | | ''VEGA_COLORBOX_DEFAULT_STYLE'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''cbStandardColors | cbExtendedColors | cbPrettyNames'' | Voreingestellte Zusammenstellung | | ''clNone'' | [[lyx_-_programmiersprache:vega:guides:zeichnen#was_tcanvas_kann|TColor]] | ''0 - 2'' | Farbe: keine | | ''clDefault'' | [[lyx_-_programmiersprache:vega:guides:zeichnen#was_tcanvas_kann|TColor]] | ''0 - 3'' | Farbe: Vorgabe | ===== Freie Funktionen ===== ^ Signatur ^ Zweck ^ | ''StandardColorCount(): int64'' | Anzahl der Standardfarben | | ''StandardColorAt(i: int64): TColor'' | Standardfarbe an dieser Stelle | | ''StandardColorName(i: int64, pretty: bool): pchar'' | Name einer Standardfarbe | | ''ExtendedColorCount(): int64'' | Anzahl der erweiterten Farben | | ''ExtendedColorAt(i: int64): TColor'' | Erweiterte Farbe an dieser Stelle | | ''ExtendedColorName(i: int64, pretty: bool): pchar'' | Name einer erweiterten Farbe | | ''SystemColorCount(): int64'' | Anzahl der Systemfarben | | ''SystemColorAt(i: int64, th: TTheme): TColor'' | Systemfarbe an dieser Stelle | | ''SystemColorName(i: int64, pretty: bool): pchar'' | Name einer Systemfarbe | | ''BuildColorList(style: int64, names: TStringList, colors: TIntArray, th: TTheme): int64'' | Stellt die Liste nach den ''cb*''-Bits zusammen | | ''ColorListCapacity(style: int64): int64'' | Wie viele Einträge dabei höchstens entstehen | | ''DrawColorSwatch(canvas: TCanvas, r: TRect, col: TColor, border: TColor): void'' | Zeichnet das Farbfeld einer Zeile | | ''NewColorBox(): TColorBox'' | Erzeugt eine eingeklappte Farbauswahl | | ''NewColorListBox(): TColorListBox'' | Erzeugt eine aufgeklappte Farbauswahl | | ''ColorToHexText(c: TColor, dst: TTextBuffer): void'' | Schreibt eine Farbe als ''#RRGGBB'' in einen Textpuffer | | ''ParseHexColor(s: pchar): TColor'' | Liest ''#RRGGBB'' aus Text; unlesbares liefert keine Farbe | ---- ===== Zu beachten ===== * Die gewählte Farbe liest man über ''Selected'', nicht über ''ItemIndex'' — das ist der Punkt der Klassen. * Einen eigenen Farbdialog daranzuhängen gibt es nicht: Vegas Dialog braucht die [[lyx_-_programmiersprache:vega:controls:tapplication|TApplication]], deshalb nimmt ''PickCustomColor'' sie als Parameter. * Gezeichnet wird immer über ''DrawItem'' — einen Umschalter fürs Selberzeichnen wie Delphis ''lbOwnerDrawFixed'' braucht Vega nicht. ---- ===== Abhängigkeiten ===== **Importiert:** [[lyx_-_programmiersprache:vega:units:types|Vega.Types]], [[lyx_-_programmiersprache:vega:units:events|Vega.Events]], [[lyx_-_programmiersprache:vega:units:canvas|Vega.Canvas]], [[lyx_-_programmiersprache:vega:units:theme|Vega.Theme]], [[lyx_-_programmiersprache:vega:units:control|Vega.Control]], [[lyx_-_programmiersprache:vega:units:font|Vega.Font]], [[lyx_-_programmiersprache:vega:units:strings|Vega.Strings]], [[lyx_-_programmiersprache:vega:units:lists|Vega.Lists]], [[lyx_-_programmiersprache:vega:units:style|Vega.Style]], [[lyx_-_programmiersprache:vega:units:listctrls|Vega.ListCtrls]] **Wird importiert von:** [[lyx_-_programmiersprache:vega:units:editbtn|Vega.EditBtn]] Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus ''Vega/ColorCtrls.lyx'' erhoben.