![]() |
Ein bestimmtes Word kontrollieren
Hallo
Ich habe eine Frage am Sie Ist es in Richedit möglich, das wenn man im Satz auf ein bestimmtes Word drauf geht dass das Word farbig bzw. unterstrichen wird, wie (oben) in den "Site-Map, Suchen, Code-Library"s. Ich danke Ihnen für Ihre Hilfe |
Re: Ein bestimmtes Word kontrollieren
hallo orhan,
ich weiß, dass es viele freeware-komponenten gibt, die sowas können. es handelt sich dabei übrigens um links. solch eine komponente ist unter anderem bei den Jedi-VCLs dabei ( ![]() aenogym PS: in diesem forum ist das "Du" ein allgemeiner umgangston ;) |
Re: Ein bestimmtes Word kontrollieren
Hi!
Um diesen Effekt zu erreichen, könnten Sie auch ganz normale TLabels benutzen. Sie weisen ihnen in den Font-Eigenschaften einfach die Farbe ihrer Wahl zu, unterstreichen sie, setzen den Cursor auf ctHand und dann verändernn Sie im OnMouseOver-Event wieder die Font-Eigenschaften, so dass der bekannte HOver-Effekt entsteht. Natürlich müssten Sie das ganze auch wieder rückgängig machen, wenn der Cursor das Label wieder verlässt... mfg, Dj_Base |
DP-Maintenance
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "VCL / WinForms / Controls" verschoben.
Kein Beitrag für die Code-Library. |
Re: Ein bestimmtes Word kontrollieren
ich weiß nicht ob es unter delphi5 schon ging aber unter delphi7 kann man von einem selektierten Text die Farbe so ändern:
Delphi-Quellcode:
Wenn du das ganze machen willst sobald man auf ein Wort klickt musst du also einfach kurz das Wort markieren wo man drauf geklickt hat und den quelltext von oben anwenden.
var LAttributes: TTextAttributes;
LFont: TFont; begin if RichEdit1.SelLength > 0 then begin LFont := TFont.Create; LAttributes := RichEdit1.SelAttributes; LFont.Assign(LAttributes); LFont.Color := clRed; LAttributes.Assign(LFont); LFont.Free; end; |
Re: Ein bestimmtes Word kontrollieren
Hallo
Ich danke euch allen Ich glaube ich habe es unverständlich erklärt. Ich möchte in Richedit das z.B: "ich heiße Orhan" steht. Und wenn ich dann auf das Word "Orhan" drauf gehe(ohne das ich es Markiere) möchte ich dass das Word automatisch markiert wird, damit ich eine Code schreiben bzw. kontrollieren kann. Z.B: Wenn "Orhan" rot bzw. unterstrichen ist dann mach das und das. Mit der Code möchte ich von bestimmten Wörtern eine Erklärung schreiben. Wie die "Hint Eigenschaft". Danke |
Re: Ein bestimmtes Word kontrollieren
hier mal ein kleines Beispiel wie man das macht. Folgendes ins MouseDown des RichEdit.
Delphi-Quellcode:
Dann sieht man in der Caption des Forms das Wort welches angeklickt wurde und dieses wort wird auch markiert.
var LText, LSelectedWord: String;
LPos, LEnd, LLen: Integer; begin LText := RichEdit1.Lines.Text; LLen := Length(LText); LPos := RichEdit1.SelStart; LEnd := LPos; while (LEnd <= LLen) and not(LText[LEnd] in [',','.',' ',#13,#10]) do inc(LEnd); while (LPos >= 1) and not(LText[LPos] in [',','.',' ',#13,#10]) do dec(LPos); inc(LPos); dec(LEnd); //Wenn ein Wort gefunden wurde if LEnd - LPos > 0 then begin //das markierte Wort in einen String kopieren Setlength(LSelectedWord, LEnd - LPos + 1); move(LText[LPos], LSelectedWord[1], Length(LSelectedWord)); caption := '"' + LSelectedWord + '"'; RichEdit1.SelStart := LPos - 1; RichEdit1.SelLength := LEnd - LPos + 1; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 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