Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bei Enter wort einfügen und neue Zeile (https://www.delphipraxis.net/7707-bei-enter-wort-einfuegen-und-neue-zeile.html)

ByteLord 19. Aug 2003 15:07


Bei Enter wort einfügen und neue Zeile
 
Hi,

ich habe folgendes Problem:
Ich habe ein Richedit und immer wenn ich Enter drücke soll
eingefügt werden und der Cursor soll in die nächste Zeile springen.

Wie mach das am besten.

Thx für eure Hilfe.

Cya
ByteLord

Tpercon 19. Aug 2003 15:24

Re: Bei Enter wort einfügen und neue Zeile
 
Schau dir das OnKeyPress Ereignis mal an.
Wenn key = #13 dann fügst du an der CursorPos
ein.

Alexander 19. Aug 2003 15:25

Re: Bei Enter wort einfügen und neue Zeile
 
Kuck dir mal die Vrtual Keys und das Event OnKeyDown an.
Vergiss nciht Keypreview auf true zu stellen...
Nachtrag: Mist wieder zu spät...

ByteLord 19. Aug 2003 15:58

Re: Bei Enter wort einfügen und neue Zeile
 
sorry leute, das hab ich noch nicht so ganz verstanden?

Tpercon 19. Aug 2003 16:03

Re: Bei Enter wort einfügen und neue Zeile
 
Die Abfrage dürfte ja kein Problem sein, also nehme ich an, es liegt am einfügen.
Mach es dir einfach und füge am Ende der letzten Zeile vorm Cursor einfach ein
ein. Die Zeilen des RichEdit sprichst du mit RichEdit1.Lines.Strings[welchezeile] an.

Dannyboy 19. Aug 2003 16:07

Re: Bei Enter wort einfügen und neue Zeile
 
... und die Abfrage auf die Return-Taste hat den Wert '#13' oder
Du nimmst die Konstante
Delphi-Quellcode:
VK_RETURN

Stanlay Hanks 19. Aug 2003 16:13

Re: Bei Enter wort einfügen und neue Zeile
 
Wenns wirklich an der Abfrage liegt:

Zuerst im Objektinspektor bei den Eigenschaften von Form
"KeyPreview" auf true setzten.

Dann im Obejktinspektor von dem RichEdit auf das Ereignisse Register wechseln und zweimal auf die Zeile mit
OnKeyDown klicken.

Dann wird eine Prozedur erzeugt in die du noch folgendes Einträgst:

Delphi-Quellcode:
IF Key = VK_RETURN THEN
 begin
 .
 .
 .
 end;
Man liest sich, Stanlay :hi:

Illuminator-23-5 19. Aug 2003 16:27

Re: Bei Enter wort einfügen und neue Zeile
 
ich würd sagen, es wär besser, wenn man die abfrage im Ereignis des Richedits/des eingabefelds zu machen, denn wenn man sonst irgendwo enter drückt, dann wird das ereignis doch ausgeführt (sprich: keypreview dann auch auf false)

dann würds so aussehen (wie schon von stanlay angedeutet)
Delphi-Quellcode:
procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
    richedit1.Lines[richedit1.CaretPos.Y] := richedit1.Lines[richedit1.CaretPos.Y] + '
'
end;

ByteLord 19. Aug 2003 16:39

Re: Bei Enter wort einfügen und neue Zeile
 
thx für eure tipps, ich konnte sie erfolgreich verwenden.
wie könnte ich es jetzt noch anstellen, dass das
rot ist?

Stanlay Hanks 19. Aug 2003 16:44

Re: Bei Enter wort einfügen und neue Zeile
 
Zitat:

Zitat von ByteLord
thx für eure tipps, ich konnte sie erfolgreich verwenden.

Na das wundert mich aber :mrgreen:

Zu dem rot:

Schau dir mal dazu in der OI "SelAttributes", "SelStart" und "SelLength" an. Da dürfte sich einiges von selber klähren :wink:

Man liest sich, Stanlay :hi:

PS: Ich will den alten :hi : smiley wieder!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr.
Seite 1 von 3  1 23      

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