Einzelnen Beitrag anzeigen

Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#1

Eigenschaft CustomColor von TColordialog

  Alt 14. Feb 2010, 18:28
Hallo,

ich habe nun das Problem der Farbpalette gelöst aber nun kommt ein weiteres. Meine Palette hat genau 16 Felder (genau die Anzahl an "CustomColors" die man in einem TColordialog festlegen kann).
Ich möchte nun, dass die Farbpalette "Benutzerdefinierte Farben" in dem Tcolordialog, beim auf Aufrufen des Colordialogs auch die Farben des Farbpallettentools haben. Also habe ich folgendes vor "Colordialog1.Execute" geschrieben:
Delphi-Quellcode:
ColorDialog1.CustomColors[0]:='ColorA='+GetHexValue(Pcol1.Color); //PcolX ist ein Panel
ColorDialog1.CustomColors[1]:='ColorB='+GetHexValue(Pcol2.Color);
//...
ColorDialog1.CustomColors[15]:='ColorP='+GetHexValue(Pcol16.Color);


//die Konvertierungsfunktion
function GetHexValue(Color:TColor):String;
var
Hex:String;
begin
Hex:=IntToHex(Color,6);
Result:=Hex[5]+Hex[6]+Hex[3]+Hex[4]+Hex[1]+Hex[2];
end;
Leider wird das ganze auf diese Art und weise nicht richtig konvertiert. Zwar werden Farben in CustomColors geladen aber nicht die richtigen! Hat jemand eine Idee wie die richtige Konvertierung der Panelfarbe zum Hexvalue sein muss?
Aus der Delphi Hilfe:
Zitat:
Jede selbstdefinierte Farbe wird als String in der Form ColorX=HexValue dargestellt. Der folgende String setzt beispielsweise die erste selbstdefinierte Farbe.

ColorA=808022

Es können bis zu 16 selbstdefinierte Farben (ColorA bis ColorP) festgelegt werden.

Kahpee
  Mit Zitat antworten Zitat