![]() |
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 |
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. |
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... |
Re: Bei Enter wort einfügen und neue Zeile
sorry leute, das hab ich noch nicht so ganz verstanden?
|
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. |
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
|
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:
Man liest sich, Stanlay :hi:
IF Key = VK_RETURN THEN
begin . . . end; |
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; |
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? |
Re: Bei Enter wort einfügen und neue Zeile
Zitat:
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 03:10 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