Announcement

Collapse
No announcement yet.

Eigene Farbkonstanten definieren und über Objektinspektor auswählen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eigene Farbkonstanten definieren und über Objektinspektor auswählen

    Hallo,
    wie muß ich eine neue Farbkonstante (z.B.: mcLightBlue = TColor($00CFB78F) in einer selbstgeschriebenen Komponente deklarieren, so das ich sie im Objektinspektor neben den Standardfarben auswählen kann.
    Hört sich eigentlich nicht so kompliziert an, aber ich steh irgendwie irgendwo auf dem Schlauch.

    Gruß

    Michael

  • #2
    Hi

    Schau mal in den RXTools, da gibt es eine RXColors Unit.
    Im Grunde hat Borland mit RegisterIntegerConst() und IntToIdent()/IdentToInt() eigentlich ein gutes Interface. Leider eben falsch designed. Also muss man um das was Du wünscht hinzubekommmen einen eigenen Eigenschaftseditor (TProperyEditor) erstellen, abgeleitet von TColorPropertyEditor. Dieser abgeleitete Editor muss nun Deine zusätzlichen Farben berücksichtigen. Zusätzlich noch mit RegisterIntConst() Deine Konvertierungroutine registrieren (auch zur Laufzeit) damit das Delphi Streamingsystem (Komponenten speicherung) der TReader/TWriter funktioniert.

    Nun warum hat Borland da einen Designfehler ??
    Normalerweise erwarte ich wenn ich mit RegisterIntegerConst eine Konvertierungsfunktion für TColor registriere, das die Eigenschaftseditoren diese auch nutzen, bzw. das die Funktionen ColorToIdent() und IdentToColor() auf den registrierten Typ TColor und dessen Konvertierungsfunktionen zurückgreifen. ABER, genau das ist nicht der Fall !

    gruß Hage

    Comment


    • #3
      Jau, danke für die Hinweise.
      Wenn ich mal wieder jede Menge Zeit übrig habe widme ich mich dem Thema mal genauer.

      Gruß

      Michae

      Comment

      Working...
      X