Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi COLORREF --> TColor (https://www.delphipraxis.net/16539-colorref-tcolor.html)

mirage228 18. Feb 2004 18:07


COLORREF --> TColor
 
Abend!

Ich konvertiere einen TColor-Wert mit

Delphi-Quellcode:
var
  CR: ColorRef;
begin
  CR := PaletteRGB(GetRValue(clNone), GetGValue(clNone),
      GetBValue(clNone));
end;
Wie kann ich diesen Wert wieder nach TColor zurückverwandeln?

mfG
mirage228

neolithos 18. Feb 2004 18:17

Re: COLORREF --> TColor
 
Delphi-Quellcode:
cl : ColorRef;
tc : TColor;

cl := ColorRef(tc);
tc := TColor(cl);
Reicht das?

Benedikt 18. Feb 2004 18:18

Re: COLORREF --> TColor
 
Wird der Wert nicht automatisch konvertiert, wenn du ihn einer TColor-Variable zuweist?

mirage228 18. Feb 2004 18:20

Re: COLORREF --> TColor
 
Wenn ich ihn zuweise, bzw. nach TColor caste kommt immer Schwarz raus :-\

mfG
mirage228

neolithos 18. Feb 2004 18:39

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?

mirage228 18. Feb 2004 18:43

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

neolithos 18. Feb 2004 18:43

Re: COLORREF --> TColor
 
Verwende für

ColorRef := TColor;

Delphi-Quellcode:
ColorToRGB
Andersrum muss es so gehen wie ich gesagt habe.

neolithos 18. Feb 2004 18:46

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

mirage228 18. Feb 2004 18:57

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