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 Zeile im Richedit makieren (https://www.delphipraxis.net/41721-zeile-im-richedit-makieren.html)

kingflo 7. Mär 2005 15:56


Zeile im Richedit makieren
 
Hallo kann mir zufällig jemand auf die schnelle sagen, wie ich eine Zeile makieren kann?

z.B will ich, dass Zeile 5 makiert ist (aber nur zeile 5)

weiß das gerade jemand?

Stevie 8. Mär 2005 09:25

Re: Zeile im Richedit makieren
 
Hi kingflo!
Delphi-Quellcode:
var
  Line: Integer;
begin
  with RichEdit1 do
  begin
    Line     := 4;
    SelStart := Perform(EM_LINEINDEX, Line, 0);
    SelLength := Length(Lines[Line]);
  end;
end;
MfG
Stevie

sniper_w 8. Mär 2005 10:59

Re: Zeile im Richedit makieren
 
Zitat:

Hi kingflo!

Delphi-Quellcode:
   var
  Line: Integer;
begin
  with RichEdit1 do
  begin
    Line     := 4;
    SelStart := Perform(EM_LINEINDEX, Line, 0);
    SelLength := Length(Lines[Line]);
  end;
end;
MfG
Stevie
Hmm. Bei mir geht das überhaupt nicht. Folgendes habe ich gebastelt und es funct:
Delphi-Quellcode:
uses RichEdit;
//...
procedure SelectLine(Line:integer; ARichEdit:TRichEdit);
 var CharRange: TCharRange;
begin
 CharRange.cpMin := SendMessage(ARichEdit.Handle, EM_LINEINDEX, Line, 0);
 CharRange.cpMax := CharRange.cpMin + SendMessage(ARichEdit.Handle,EM_LINELENGTH,CharRange.cpMin,0);
 SendMessage(ARichEdit.Handle, EM_EXSETSEL, 0, Longint(@CharRange));
 SendMessage(ARichEdit.Handle, EM_SCROLLCARET, 0, 0);
end;

Stevie 8. Mär 2005 11:03

Re: Zeile im Richedit makieren
 
Steht HideSelection auf False??
Dann funktioniert das auch! :roll:

sniper_w 8. Mär 2005 11:07

Re: Zeile im Richedit makieren
 
Zitat:

Steht HideSelection auf False??
Dann funktioniert das auch! Rolling Eyes
:wall: Genau. War gerade dabei das zu melden.Es geht.

Delphi-Quellcode:
 RichEdit1.SelStart := SendMessage(RichEdit1.Handle, EM_LINEINDEX, StrToInt(Edit1.Text), 0);
 RichEdit1.SelLength := Length(RichEdit1.Lines[strtoint(Edit1.Text)]);;

 Memo1.SelStart := SendMessage(Memo1.Handle, EM_LINEINDEX, StrToInt(Edit1.Text), 0);
 Memo1.SelLength := Length(Memo1.Lines[strtoint(Edit1.Text)]);;

kingflo 8. Mär 2005 12:28

Re: Zeile im Richedit makieren
 
Geht das auch Irgendwie bei Syneditor?

Bei meinem Richedit hab ich es jetzt geschafft.

Jetzt brache ich sowas nochmal für Syneditor. Aber Syneditor hat kein SelLeghth

Stevie 8. Mär 2005 13:06

Re: Zeile im Richedit makieren
 
Zitat:

Zitat von kingflo
Jetzt brache ich sowas nochmal für Syneditor. Aber Syneditor hat kein SelLeghth

Ja, da geht das etwas anders...
Delphi-Quellcode:
procedure SelectLine(const Line: Integer; SynControl: TCustomSynEdit);
var
  Start, Ende: Integer;
begin
  SynControl.SelStart := 0;
  SynControl.SelEnd := 0;
  SynControl.CaretXY := Point(0, Line);
  Start := SynControl.SelStart;
  SynControl.CaretY := Succ(Line);
  Ende := SynControl.SelStart;
  SynControl.SelStart := Start;
  SynControl.SelEnd := Ende;
end;

kingflo 8. Mär 2005 13:41

Re: Zeile im Richedit makieren
 
:-D Ahh danke danke!!!! Herzlichen dank


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:11 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