![]() |
Danke, sowas hab ich auch noch gesucht! :thumb:
|
Leider, leider war es das noch nicht ganz. Ich würde ja selbst weiter dran rumdoktoren, aber ich weiss nicht genau, wie ich auf dieses Phenomän reagieren soll.
Deine Vorlage läuft besser als mein letzter Ansatz, aber leider noch nicht perfekt. Folgendes passiert: Ich erhöhe die zeilenzahlen durch Enter. Alles OK. Ich gehe zurück mit Backspace. Alles OK. Ich drücke einmal die Pfeiltaste nach oben. Alles OK. Ich drücke einmal die Pfeiltaste nach rechts. Der Cursor bleibt in der Zeile, so wie es sein soll aber die Markierung springt eine Zeile höher. Ähnliches passiert, wenn ich die Pfeiltaste nach links drücke: Der Curosor bleibt in der Zeiles aber es wird eine Zeile tiefer markiert. Woran kann das nun wieder liegen? Chris ich danke Dir für Deine bisher geleistete Arbeit und bitte Dich nun letztmalig -)) um Deine Hilfe. Danke Tom |
Moin Tom,
ich hatte so etwas geahnt. Das Problem ist, dass iOffset nicht wieder zurückgesetzt wird. Die dritte Zeile im OnKeyDown muss so aussehen:
Delphi-Quellcode:
Jetzt wird der Offset auch dann immer zurückgesetzt, wenn kein VK_DOWN oder VK_UP gedrückt wurde.
if ((SynEdit1.CaretY = 1) and (iOffset = -1)) or ((SynEdit1.CaretY = SynEdit1.Lines.Count) and (iOffset = 1)) or (not (Key in [VK_DOWN,VK_UP])) then iOffset := 0;
|
O sole mio.
Warum komme ich nicht auf so simple Ideen ein Problem zu lösen!? Ich danke Dir und hoffe auf meine Lernfähigkeit. Tom |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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