![]() |
Colored Names in Delphi?
hi leutz!
ihr kennt das bestimmt: bei einem spiel wählt ihr euren namen, wie "Heinz" jetzt geben wir aber nicht Heinz ein, sondern \cff00ffHeinz und schon erscheint "Heinz" in rosa :) dann kann man ja noch das eingeben: \cff00ffHein\cff0000z was ausgibt, dass Hein rosa ist und das z rot... tja, aber wie mache ich das? nen label wird das ja wohl kaum schaffen, oder? dann noch die farbem ausrechnen, etc.... ;) |
Re: Colored Names in Delphi?
Zitat:
Aber mit einem Label kannst du das nicht machen, da es dort immer nur eine Schriftfarbe gibt. Allerdings könntest du eine eigene Prozedur schreiben, die den Text in verschiedenen Farben auf ein Label (oder halt was anderes (Canvas, Paintbox, oder was auch immer)) zeichnet. MfG Binärbaum |
Re: Colored Names in Delphi?
muss das unbedingt ich machen? :pale:
da gibts doch bestimmt einen kleinen, einsamen, gelangweilten DPler hier irgendwo :) |
Re: Colored Names in Delphi?
:warn:
Zitat:
Zitat:
|
Re: Colored Names in Delphi?
Zitat:
PS: ja ich weiß, das wird langsam OT. |
Re: Colored Names in Delphi?
ich kenn den kodex und ich halte mich eigentlich imme rdran, nur kann ich für 4-5 tage nicht an meinen rechner...
versteht ihr das?? 5 TAGE KEIN DELPHI!!!!! AARGH!! ich wer dhier noch wahnsinnig!! ^^ mmh.... doch, morgen ist eine stunde zeit :roll: dann abba nicht mehr :wall: gut gut, ich werd warten... NEIN, das kann ich nicht! :mrgreen: |
Re: Colored Names in Delphi?
Zitat:
MfG Binärbaum |
Re: Colored Names in Delphi?
ich weiß ja nicht mal, wo ich anfangen soll :(
mit nem label klappts net... ne paintbox jedes einfügen - ne! ich brauch sowas wien label, das eben mehrere colors anzeigen kann... |
Re: Colored Names in Delphi?
Zitat:
MfG Binärbaum |
Re: Colored Names in Delphi?
Du koenntest ein RichEdit aufs Form knallen, Color auf clBtnFace stellen, ReadOnly auf True, Rand weg und du solltest gluecklich sein. Fuer die Formatierung druckst du dir am besten die Online-Hilfe aus ;)
Greetz alcaeus |
Re: Colored Names in Delphi?
yeah, das ruled ;)
gut, so werd ichs machen, THX! |
Re: Colored Names in Delphi?
bin zwar nicht klein, einsam und gelangweilt aber habs trotzdem mal versucht umzusetzen...
Delphi-Quellcode:
Beispielaufruf:
procedure DrawColorTextToCanvas(AText: String; ACanvas: TCanvas; APos: TPoint);
var LLeft, LPos, LLastPos, LCount: Integer; LStr2, LWord: String; LColorList: TStringlist; LColor: TColor; begin LColorList := TStringList.Create; LPos := 1; LLastPos := 1; LPos := PosEx('\c', AText, LPos); while LPos > 0 do begin LStr2 := copy(AText, LPos + 2, 6); if length(LStr2) = 6 then begin LColor := RGB(StrToInt('$' + copy(AText, LPos + 2, 2)), StrToInt('$' + copy(AText, LPos + 4, 2)), StrToInt('$' + copy(AText, LPos + 6, 2))); LStr2 := copy(AText, LLastPos, LPos - LLastPos); LColorList.AddObject(LStr2, TObject(LColor)); LWord := LWord + LStr2; end; LLastPos := LPos + 8; LPos := PosEx('\c', AText, LLastPos); end; LStr2 := copy(AText, LLastPos, length(AText) - LLastPos + 1); if LStr2 <> '' then begin LColorList.AddObject(LStr2, nil); LWord := LWord + LStr2; end; LLeft := APos.X; for LCount := 0 to LColorList.Count - 1 do begin ACanvas.TextOut(LLeft, APos.Y, LColorList.Strings[LCount]); ACanvas.Font.Color := TColor(LColorList.Objects[LCount]); LLeft := LLeft + ACanvas.TextWidth(LColorList.Strings[LCount]); end; LColorList.Free; end;
Delphi-Quellcode:
ich denk die aufgabe war so einfach das auch du es in einer Zeit von weniger als einer Stunde hinnbekommen hättest.
DrawColorTextToCanvas('\c0000ffHein\cff0000z', Canvas, Point(0,0));
|
Re: Colored Names in Delphi?
kewl, ich werds morgen ausporboeren (ja, ich darf mprgen schon ran!!! :D )
nur... wie kann ich die func dann erweitern, dass wenn ich \r oder so eingebe, dass dann die standardfarbe kommt? |
Re: Colored Names in Delphi?
Hi,
ich denke, dass wirst du selbst hinbekommen, wenn du dir das Beispiel von SirThornberry anschaust. Da ist im Prinzip alles drin :-) Kleiner Tipp, du muss nach \r suchen, genau wie im Beispiel, und anschließend die "Standard"-Farbe mit in die ColorList tun. Das war's. Der Rest wird dann automatisch gemacht. Nachtrag: Alternativ könntest du auch \r im vornherein durch die Standard-Farbe ersetzen :) |
Re: Colored Names in Delphi?
oh mein gott bin ich doof! ^^'
natürlich! ich muss ja eigntlich nur ienen teil kopieren und einen bestimmten farbwert zuweisen! h3h3, jetzt hab ichs, danke! PS: geht es auch, dass ich bilder mit einfügen kann oder einen farbverlauf? |
Re: Colored Names in Delphi?
um darauf zurückzukommen:
ich wollte es vorhin mal benutzen, abba die funktion "PosEx" müsstest du noch dazupacken, die hat ein nromaler delphi-loose... äh.. "user" nicht ;) |
Re: Colored Names in Delphi?
Die hat auch ein
Zitat:
|
Re: Colored Names in Delphi?
kewl, danke, klappt wunderbar! :D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 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