AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi ColorToString auch für Systemfarben
Thema durchsuchen
Ansicht
Themen-Optionen

ColorToString auch für Systemfarben

Ein Thema von taaktaak · begonnen am 30. Mai 2008 · letzter Beitrag vom 31. Mai 2008
 
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#1

ColorToString auch für Systemfarben

  Alt 30. Mai 2008, 22:00
Moin, Moin.

Ich möchte den Farbwert eines Pixels auch mit dem Namen der "symbolischen Konstante" anzeigen. Die Delphi-Hilfe bietet hierzu ColorToString() und ColorToIdent() an. Ich zitiere:

Zitat:
Mit ColorToString können Sie einen String abrufen, der einem bestimmten TColor-Wert entspricht. Wenn für die Farbe eine symbolische Konstante definiert ist (z.B. clBlack oder clHighlightText)....
Die ersten Testläufe haben mir nun wieder ein paar graue Haare mehr beschert. Beide Funktionen liefern für die "Basisfarben" clBlack bis clWhite wie erwartet die symbolische Konstante zurück. Soll der String aber für eine Systemfarben ermittelt werden, scheitern beide Funktionen und liefern nur einen Hex-Wert zurück.

Also schaue ich mir in "Graphics" die betreffenden Funktionen bzw. Konstanten mal an: Beide Funktionen suchen den übergebenen Wert im const-Array "Colors" - und finden bei Systemfarben offenbar keine Übereinstimmung von übergebenen Farbwert und den im const-Array abgelegten Farbwerten. Die Farbwerte des Arrays sind in der gleichen Unit als Konstanten definiert. Dabei fällt mir auf, dass die "Basisfarben" anders definiert werden als die Systemfarben:

z.B. clBlack = TColor($000000) aber z.B. clBtnFace = TColor(clSystemColor or COLOR_BTNFACE)

Das bringt mich aber noch nicht weiter. Also ermittle ich vielleict erst einmal, welchen Wert ich für einen Pixel der Farbe clBtnFace an die Funktion übergebe und welcher Wert für clBtnFace im Array "Colors" enthalten ist:

TColor(clBtnFace) = 13160660 <- übergebener, zu suchender Wert)
StringToColor('clBtnFace') = -16777201 <- Value im Array "Colors"

Na klar, dann kan nix gefunden werden! Laut Hilfe soll aber bei ColorToString() ein TColor-Wert übergeben werden können und die Bezeichnung auc der Systemfarben ermittelt werden.

Ahhhh, schiete!
Ist die Aussage der Hilfe falsch?
Habe ich ein Brett vor dem Kopf?

Need help
Ralph
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz