![]() |
TColorDialog
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Morgen.
Da ich öfter für meine Programme mal eine Farbe auswählen möchte, die nicht den Standardfarben entspricht ( TFont zum Beispiel läßt ja nur 16 Farben zu ), hatte ich ein kleines Problem und viel Rechnerei. Zuerst mit dem Taschenrechner, dann mit ner Liste, die die 16er- (HEX-) Zahlenumrechnung enthielt. Und das alles nur, weil in TColorDialog zwar die Farbe angezeigt und auch in einer Longint-Variable zurückgegeben wird, ich aber die Farbwerte nicht zur Laufzeit des Programms ändern lassen wollte, sondern schon im OI festlegen. Da sieht man aber nur DEzi-Zahlen und dann auch noch in umgekehrter Reiehnfolge. Also habe ich mir ein kleines Programm geschrieben und unter TOOLS im OI eingebunden. Es liefert den DEZI-Zahlenwert, die Besetzung der Farbbytes und die Delphi-Zeichenkette, die mann im OI für die Komponente eintippen kann. Wer sowas hilfreich findet, im Anhang steht die Datei. Friedliche Weihnachten Susi [edit=Matze]Tippfehler im Titel korrigiert, damit das Thema über die Suche leicht gefunden werden kann. MfG, Matze[/edit] |
Re: TColotDialog
Da ich so etwas ziemlich hilfreich finde, habe ich mir auch mal so ein Ding geschrieben (Werde es auch gleich mal posten). Du könntest die Werte ein EDIT-Feldern ausgeben,
dann könnte man gleich den Wert kopieren und muss ihn nicht von Hand übertragen... Frohe Weihnachten! SCRaT |
Re: TColotDialog
Stimmt !
Mit showmessage gings am schnellsten. da gaht Copy&Past allerdings nicht. Ich denke ich habs gleich ( ... ) fertig. Gruß Susi |
Re: TColotDialog
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Morgen !
Ich bin fertig damit. Es können die Werte, jenachdem, was gebraucht wird, direkt per copy&Past übernommen werden. Guten Rutsch, Susi |
Re: TColorDialog
Klasse Tool,
wenn man nun noch per Mouse (Pipette) die Farbe unter dem Cusor ermitteln könnte, wäre dies sicher ein weiteres Highlight.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
Var Pt:TPoint; DC:HDC; begin GetCursorPos(Pt); DC:=CreateDC('DISPLAY',NIL,NIL,NIL); label1.Caption := inttostr(GetPixel(DC,Pt.x,Pt.y)); End; |
Re: TColorDialog
es fehlt die Unit "func.pas" in der zip-Datei. So lässt sich das Projekt zum Anpassen nicht kompilieren...
|
Re: TColorDialog
Hallo,
wegen der datei "func.pas". das hab ich vergessen zu schreiben: Sie fehlt, das ist aber nicht schlimm. Die macht bei mir noch viele andere Umreechnungen, die ich hier nicht brauche. Die wichtige Umwandlung einer Dezi-Zahl in Hex-Zeichenkette habe ich ausgeklammert, aber in die Main-Datei kopiert. Die Klammern (* *) weg und dann sollte es gehen. Entschuldigung, hatte ich vergessen. Guten Rutsch Susi |
Re: TColorDialog
die Klammern hatte ich schon entfernt
dann wird das HexArray nicht erkannt
Delphi-Quellcode:
wie ist das definiert?
ResultS:=HexArray[AInt Mod 16]+ResultS;
|
Re: TColorDialog
Tscha, die kleinen Vergesslichkeiten,
wenn man nur das Nötigste schreiben will. Also hier das fehlende Array:
Delphi-Quellcode:
Ich hoffe, jetzt gehts.
Const HexArray : Array[0..15]Of Char =
('0','1','2','3','4','5','6','7', '8','9','A','B','C','D','E','F'); Gruß Susi |
Re: TColorDialog
Vielen Dank jetzt ´funktioniert´s
nach kleiner Änderung:
Delphi-Quellcode:
zu:
FUNCTION MaskIntToHex(AInt:LongInt):str16;
Var ResultS :str16;
Delphi-Quellcode:
compiliert jetzt mit Delphi 2007
FUNCTION MaskIntToHex(AInt:LongInt):string;
Var ResultS :string; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz