Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ein bestimmtes Word kontrollieren (https://www.delphipraxis.net/55839-ein-bestimmtes-word-kontrollieren.html)

Orhan 27. Okt 2005 18:40


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

Aenogym 27. Okt 2005 19:09

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 (http://www.jvcl.sf.net)

aenogym

PS: in diesem forum ist das "Du" ein allgemeiner umgangston ;)

Dj_Base 27. Okt 2005 19:53

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 27. Okt 2005 19:53

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.

SirThornberry 27. Okt 2005 20:08

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:
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;
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.

Orhan 28. Okt 2005 14:53

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

SirThornberry 28. Okt 2005 16:49

Re: Ein bestimmtes Word kontrollieren
 
hier mal ein kleines Beispiel wie man das macht. Folgendes ins MouseDown des RichEdit.
Delphi-Quellcode:
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;
Dann sieht man in der Caption des Forms das Wort welches angeklickt wurde und dieses wort wird auch markiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz