AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text in Richedit anklicken

Ein Thema von XXcD · begonnen am 12. Jul 2009 · letzter Beitrag vom 14. Jul 2009
 
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Text in Richedit anklicken

  Alt 13. Jul 2009, 05:04
So also ich hab jetzt das was du willst mal mit einem normalen RichEdit versucht und habs hinbekommen das wenn die Mouse über dem Text ist er es anders darstellt
Delphi-Quellcode:
var Test : TSize;
    Rect1 : TRect;
    TextHöhe : Integer;
    Zeile : Integer;
    Text1 : String;
begin
Zeile := 1; //Zeile in der der Text steht (Index der Linesliste +1 des RichEdits)
Text1 := 'Hi//Text, der angeklickt werden soll
GetTextExtentPoint32(GetDC(RichEdit1.Handle), Text1, Length(Text1), Test); //WinApi Funktion, welche die Höhe und die Breite des Textes ausgibt
TextHöhe := -RichEdit1.Font.Height; //Höhe der Schrift allgemein
Rect1 := Rect(0,(Zeile-1)*TextHöhe,Test.cx,Zeile*TextHöhe + Test.cy); //Bereich festlegen, wo der Text ist, dabei sit vorausgesetz das der Text immer vorne steht
if (y >= Rect1.Top) and (y+TextHöhe <= Rect1.Bottom) and (x <= Rect1.Right) then //Überprüfung ob die Mouse in Rect (speicher am besten x,y von MouseMove und setze
//die Variable für X und Y ein, wenn du die Anweisung hier in DbClick einfügst
begin
//hier der Code, wenn die Mouse auf dem Text ist.
//z.b.
RichEdit1.SelStart := 0;
RichEdit1.SelLength := Length(Text1);
RichEdit1.SelAttributes.Style := RichEdit1.SelAttributes.Style + [fsUnderline];}
end
else
begin
//und hier schreibste rein wie er normal aussehen soll.
//z.b.
{RichEdit1.SelStart := 0;
RichEdit1.SelLength := 4;
RichEdit1.SelAttributes.Style := RichEdit1.SelAttributes.Style - [fsUnderline];}

end;
Ich hoffe ich konnte dir helfen, hab mich schnell daran gesetzt , weil es mal eine kleine herausforderung für mich war dies rauszufinden. Ich hoffe es klappt.
Bei mir klappte es, als ich 2 Zeilen hatte und der Text in der ersten Zeile war. Und hatte den Code bei MouseMove drin.

Gruß NickelM
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 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