COLORREF --> TColor
Abend!
Ich konvertiere einen TColor-Wert mit
Delphi-Quellcode:
Wie kann ich diesen Wert wieder nach TColor zurückverwandeln?
var
CR: ColorRef; begin CR := PaletteRGB(GetRValue(clNone), GetGValue(clNone), GetBValue(clNone)); end; mfG mirage228 |
Re: COLORREF --> TColor
Delphi-Quellcode:
Reicht das?
cl : ColorRef;
tc : TColor; cl := ColorRef(tc); tc := TColor(cl); |
Re: COLORREF --> TColor
Wird der Wert nicht automatisch konvertiert, wenn du ihn einer TColor-Variable zuweist?
|
Re: COLORREF --> TColor
Wenn ich ihn zuweise, bzw. nach TColor caste kommt immer Schwarz raus :-\
mfG mirage228 |
Re: COLORREF --> TColor
Bei welchen Farbwerten? :gruebel:
Denn TColor ist eigentlich ein Integer und TColor ein Cardinal. Es dürfte eigenlich keine Probleme geben! Wo wendest du die Farbwerte an und welche? |
Re: COLORREF --> TColor
Also ich schreibe ein Plugin-Interface für mein Programm und wollte es möglichst Sprachunabhängig halten.
Daher wollte ich auf TColor verzichten. Da bot sich mir COLORREF an, da es dafür eine Funktion zum Umwandeln gab. Nur zum zurückwandeln habe ich sie nicht gefunden. Die Farbe zum Umwandeln ist ein TColor ist der Property "Color" von "TBrush" Die Farbe müsste der Hintergrund eines PageControls im XP-Styles sein. In der Plugin-DLL versuche ich diese Farbe einem Panel zuzuweisen das mit CreateParented auf dem PageControl erstellt wird und dessen Farbe haben soll. mfG mirage228 |
Re: COLORREF --> TColor
Verwende für
ColorRef := TColor;
Delphi-Quellcode:
Andersrum muss es so gehen wie ich gesagt habe.
ColorToRGB
|
Re: COLORREF --> TColor
Schwarz kam immer raus weil es sich wahrscheinlich um eine Systemfarbe handelte (deshalb lieber ColorToRGB verwenden, die beachtet das).
Bei Systemfarben ist das höchste Bit gesetzt und die Lower Bits geben die Nummer an. Mit dieser Nummer kann man via GetSysColor bzw. GetSystemColor (eine wird schon stimmen :) ) den eigentlichen Farbwert abholen. vorgehen siehe verhergehende Post von mir |
Re: COLORREF --> TColor
Danke, klappt^^
mfG mirage228 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 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