![]() |
TMemo Cursorproblem
Hallo,
mit folgendem Code möchte ich Text in einem Memo markieren und den Cursor anzeigen:
Delphi-Quellcode:
unter Windows steht der Text drin, der Cursor wird angezeigt aber kein Text ist markiert,
MemoEingabe.text:='Hallo Du da draussen';
MemoEingabe.SelStart := Length(MemoEingabe.Lines.Text) - 5; MemoEingabe.SelLength := 3; MemoEingabe.SetFocus; unter Android noch schlimmer, Text ist da, aber kein Cursor, keine Markierung und keine Tastatur, die kommt erst wenn man in das Memo tippt! Wie bekomme ich wenigstens das Memo unter Android dazu, den Cursor anzuzeigen und die Tastatur einzublenden? Ciao Stefan |
AW: TMemo Cursorproblem
Moin...:P
Focus auf das Memo vorher? :gruebel: |
AW: TMemo Cursorproblem
Bringt leider gar nichts...
Bei Android kommt übrigens die Tastatur wenn ich in das Memo tippe, der Cursor erscheint erst wenn auf der Tastatur eine Taste getippt wird! Ciao Stefan Nachtrag: In einer Procedure wird - Memo.Visible und - Memo.SetFocus nacheinander abgearbeitet. Testweise habe ich nun (unschön) einen Timer implementiert, der mit dem - Memo.Visible - Timer.Enabled gestartet wird und der dann nach 200ms Memo.setfocus aufruft. Jetzt erscheint der Cursor und die Tastatur wie gewünscht! Es muss doch aber einen Weg geben, das auch ohne den Timer hinzubekommen?! Ciao Stefan |
AW: TMemo Cursorproblem
Mach' bitte mal hinter dem SetFocus noch ein Refresh, RePaint oder ein Application.ProcessMessages rein, damit das Memo auf jeden Fall auch mal neu gezeichnet wird.
Es könnte sein, dass das Neuzeichnen bei Deiner bisherigen Lösung erst nach dem Timer passiert, weil dann zufällig(?) alles neu gezeichnet wird und dadurch dann die Auswahl sichtbar wird? Keine Ahnung, ob das hilft, aber einen Versuch könnte es wert sein. |
AW: TMemo Cursorproblem
bringt leider auch keine Verbesserung!
Ciao Stefan |
AW: TMemo Cursorproblem
Das ist leider ziemlich eindeutig ein Bug (unter 10.3.3 funktioniert Dein Code). Wäre nett, wenn Du einen entsprechenden Eintrag bei Quality Central machen würdest.
Als WorkAround: Evtl. kannst Du (falls das noch in Deine Programmlogik passt) nach Memo.Selstart := x; den Befehl Memo.Selectword aufrufen, dann erhälst Du das aktuelle Wort, wo der Cursor drauf steht, markiert. Gerade in 10.4 haben die Entwickler ziemlich viel an der Memo-Komponente rum geschraubt, ich habe auch schon einige Bugs gemeldet (die z.T. auch schon behoben wurden).... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 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 by Thomas Breitkreuz