Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Herausfinden, in welcher Zeile der Cursor ist (RichEdit) (https://www.delphipraxis.net/8031-herausfinden-welcher-zeile-der-cursor-ist-richedit.html)

Matze 27. Aug 2003 10:33


Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Hi!

Ja, die Überschrift sagt es schon. Wie bekomme ich den integer-Wert der Zeile, indem sich der Cursor des RichEdit befindet?

Ich möchte folgendes machen:

Sobald ich im RichEdit auf Enter drücke, dann soll der Cursor in die neue Zeile springen und in dieser neuen Zeile etwas einfügen.

Das könnte ich dann mit:
Code:
RichEdit1.Lines.Exchange(0,Zeile);
RichEdit1.SelText:='Text';
Im Forum wird nur angesprochen, sobald man Enter drückt, dass dann in der "alten" Zeile etwas eingefügt wird.

Weiß das jemand, wie's geht?

Tpercon 27. Aug 2003 12:26

Re: Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Wie wäre es mit
Delphi-Quellcode:
RichEdit1.CaretPos

Matze 27. Aug 2003 13:07

Re: Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Dann kommt bei:

Code:
RichEdit1.Lines.Exchange(0,RichEdit1.CaretPos);
Diese Fehlermeldung:

Zitat:

[Fehler] Unit1.pas(810): Inkompatible Typen: 'Integer' und 'TPoint'
Trotzdem Danke!

Tpercon 27. Aug 2003 13:12

Re: Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Aus dem Kopf, müßte aber stimmen!
Delphi-Quellcode:
RichEdit1.CaretPos.Y

Matze 27. Aug 2003 13:37

Re: Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Wenn ich das so schreibe:

Delphi-Quellcode:
RichEdit1.Lines.Exchange(0,RichEdit1.CaretPos.Y);
  RichEdit1.Lines.Strings[richedit1.CaretPos.Y]:='

';
dann wird die ganze Zeile durch "

" ersetzt! :(

PS: Der Cursor sollte dann auch nach dem "

" blinken. ;)

Illuminator-23-5 27. Aug 2003 13:42

Re: Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Delphi-Quellcode:
RichEdit1.Lines.Exchange(0,RichEdit1.CaretPos.Y);
  RichEdit1.Lines.Strings[richedit1.CaretPos.Y]:=RichEdit1.Lines.Strings[richedit1.CaretPos.Y]+'

';

Tpercon 27. Aug 2003 13:43

Re: Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Zitat:

Zitat von Matze
Delphi-Quellcode:
RichEdit1.Lines.Exchange(0,RichEdit1.CaretPos.Y);
  RichEdit1.Lines.Strings[richedit1.CaretPos.Y]:='

';

Du läßt ja auch die ganze Zeile ersetzten!
Probier mal:
Delphi-Quellcode:
RichEdit1.Lines.Strings[richedit1.CaretPos.Y]:=RichEdit1.Lines.Strings[richedit1.CaretPos.Y]+'

';
Das Setzten des Cursors müßtest du alleine hinbekommen, gab es auch schon oft genug hier im Forum.

Matze 27. Aug 2003 13:49

Re: Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Delphi-Quellcode:
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_return then
  RichEdit1.Lines.Exchange(0,RichEdit1.CaretPos.Y);
  RichEdit1.Lines.Strings[richedit1.CaretPos.Y]:=RichEdit1.Lines.Strings[richedit1.CaretPos.Y]+'

';
end;
Danke euch beiden. (war das Selbe) aber es geht nicht, da verschiebt es dann Zeilen.

Wie muss ich das dann eingeben, dass der Cursor nach dem "

" blinkt??

Danke!

Matze 27. Aug 2003 13:58

Re: Herausfinden, in welcher Zeile der Cursor ist (RichEdit)
 
Mit dem Code kann man nicht mal mehr copy&Paste machen. :(


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