![]() |
colorpickers farben in hex umwandeln
hi Leute,
habe ein Problem: ich hab die komponente "colorpicker" installiert und ich möchte das wenn man eine farbe auswählt (zb schwarz) das im synmemo der hex code angezeigt wird (in diesem Fall #000000) könnt ihr mir vielleicht weiterhelfen? mfg alanblack |
Re: colorpickers farben in hex umwandeln
Wenn der Colorpicker ein TColor liefert (wovon ich mal ausgehe) und dein Problem die Umwandlung von TColor zu einem Hex-String ist sollte dir dieser Thread weiterhelfen:
![]() grüße, daniel |
Re: colorpickers farben in hex umwandeln
hi Sanchez,
Danke für den Tipp, nur leider hilft er mir nicht weiter. ich glaube du hast nich so recht verstanden was ich meinte :? also ich bastel an einen HTML Editor. Dieser soll komfortabel sein. Deshalb baue ich Werkzeug Tools ein. zb die Laufschrift, das funzt ja alles, aber man soll auch die Farbe der Lauschrift auswählen können. ich habe für die Laufschrift diesen code verwendet:
Delphi-Quellcode:
ich könnte natürlich auch die ganzen Farben in eine combobox schreiben aber das is zu viel arbeit :-D
frmtextview.smemo.lines.add('<marquee>' + edit1.Text + '</marquee>');
darum habe ich den Colorpicker installiert. wenn ich beispielsweise ich rot anklicke und den text soll im synmemo der script sein eben mit der farbe (code brauch ich ja jetz nich aufführen oder?) Wie komme ich da am besten weiter? :gruebel: Mit freundlichen Grüßen alanblack |
Re: colorpickers farben in hex umwandeln
hallo,
Du willst doch nichts anderes als die Farbe aus dem Colorpicker an eine bestimmte Stelle im SynMemo einfügen. Den Hexwert der Farbe als String bekommst du mit dieser Funktion (hab ich hier auch in nem anderen Thread schon mal geschrieben):
Delphi-Quellcode:
Du liest die Farbe aus dem Colorpicker aus, schickst sie in diese Funktion und hast den richtigen HTML-Farb-String. Jetzt musst du den String noch ins SynEdit schreiben.
function Sto_ColorToHtml(const Color: TColor): String;
var iRgb: Longint; iHtml: Longint; begin // convert system colors to rgb colors iRgb := ColorToRGB(Color); // change BBGGRR to RRGGBB iHtml := ((iRgb and $0000FF) shl 16) or // shift red to the left ( iRgb and $00FF00) or // green keeps the place ((iRgb and $FF0000) shr 16); // shift blue to the right // create the html string Result := '#' + IntToHex(iHtml, 6); end; Welcher Punkt ist dir also unklar? grüße, daniel |
Re: colorpickers farben in hex umwandeln
re nochma,
muss ich das ins SynEdit schreiben (also im Highlither des HTML´s Editors) oder dort wo der Colorpicker is? ´bei mir also Laufschrift? und dann wo muss ich es eintragen? Bei dem Button im onclick ereignis..? sorry steh aufn schlauch :? :( :wall: |
Re: colorpickers farben in hex umwandeln
Ich hab keine Ahnung wie der Colorpicker aussieht, aber die wirds wohl ein Ereignis geben, wenn eine Farbe ausgewählt wird.
In diesem Event-Handler holst du die Farbe aus dem Colorpicker wandelst sie mit dem obigen Code in nen String um und schreibst sie ins SynEdit |
Re: colorpickers farben in hex umwandeln
der Colorpicker sieht so aus:
![]() ich verstehe auch nicht warum ich das ins SynEdit schreiben soll... die laufschrift und das muss auch nicht ins synedit rein sondern in Laufschrift.pas von dem button im onclick ereignis ich habe keine ahnung wovon du sprichst mfg alanblack |
Re: colorpickers farben in hex umwandeln
Ein Klick in den Colorpicker bewirkt doch, dass die Farbe ins SynEdit reingeschrieben wird, oder hab ich da was falsch verstanden?
|
Re: colorpickers farben in hex umwandeln
nö eigentlich nicht. du tust den colorpicker auf dein formular und kannst halt farben auswählen
und auch drauf klicken das wars. du musst ihn dir wie eine Combobox vorstellen. oder halt ein button den man auf sein formular gezogen hat und dann kompilert (man kann auch draufklicken es passiert halt nur nix) Weiß immer noch ned was ich machen soll :-( mfg alanblack |
Re: colorpickers farben in hex umwandeln
Na klar passiert noch nix, du musst dazu schon was programmieren.
Was soll den nun passieren, wenn du draufklickst? |
Re: colorpickers farben in hex umwandeln
hier erstmal die source von Laufschrift.pas:
Delphi-Quellcode:
man wählt die farbe aus. gibt den laufschrifttext ein und klickt auf OK!
unit Laufschrift;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm5 = class(TForm) Edit1: TEdit; Button1: TButton; Button2: TButton; GroupBox1: TGroupBox; GroupBox2: TGroupBox; RadioGroup1: TRadioGroup; ColorPickCombo1: TColorPickCombo; ColorPickCombo2: TColorPickCombo; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form5: TForm5; implementation uses Unit2, Unit3, Unit4, Unit1; {$R *.dfm} procedure TForm5.Button2Click(Sender: TObject); begin close; end; procedure TForm5.Button1Click(Sender: TObject); begin frmtextview.smemo.lines.add('<marquee>' + edit1.Text + '</marquee>'); end; end. DANN KOMMT DER CODE IN FRMTEXTVIEW FÜR DIESE LAUFSCHRIFT MAN SPEICHERT ES UND WENN MAN ZB DIE FARBE ROT ANGEGEBEN HAT IST OBEN EINE LAUFSCHRIFT IN DER FARBE ROT |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 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-2025 by Thomas Breitkreuz