AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TMemo Cursorproblem

Ein Thema von skoschke · begonnen am 30. Mär 2021 · letzter Beitrag vom 30. Mär 2021
Antwort Antwort
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

TMemo Cursorproblem

  Alt 30. Mär 2021, 09:06
Hallo,

mit folgendem Code möchte ich Text in einem Memo markieren und den Cursor anzeigen:
Delphi-Quellcode:
  MemoEingabe.text:='Hallo Du da draussen';
  MemoEingabe.SelStart := Length(MemoEingabe.Lines.Text) - 5;
  MemoEingabe.SelLength := 3;
  MemoEingabe.SetFocus;
unter Windows steht der Text drin, der Cursor wird angezeigt aber kein Text ist markiert,
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
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#2

AW: TMemo Cursorproblem

  Alt 30. Mär 2021, 09:16
Moin...

Focus auf das Memo vorher?
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TMemo Cursorproblem

  Alt 30. Mär 2021, 09:35
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

Geändert von skoschke (30. Mär 2021 um 10:12 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#4

AW: TMemo Cursorproblem

  Alt 30. Mär 2021, 10:41
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.
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TMemo Cursorproblem

  Alt 30. Mär 2021, 11:07
bringt leider auch keine Verbesserung!

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TMemo Cursorproblem

  Alt 30. Mär 2021, 17:37
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)....

Geändert von Harry Stahl (30. Mär 2021 um 17:39 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 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