![]() |
Fokusproblem im Richedit
Hallo,
ich habe eine Autovervollständigung mit einem Richedit und einer Listview. Der Fokus ist entweder im Richedit oder in der Listview. Befindet sich der Fokus auf dem Richedit, werden die Einträge der Listview aktualisiert, das Caret befindet sich auch auf dem Richedit. Wird der Fokus auf die Listview gewechselt, verliere ich (a) das Caret im Richedit und wenn ein Buchstabe in der Listview eingegeben wird, soll (b) dieser direkt im Richedit übernommen werden - dh. Fokus an Richedit übergeben inkl. des aktuell eingegeben Buchstabens. Für (b) würde es schon reichen, wenn bei 2 Richedit Instanzen (RE1, RE2) der Fokus inkl. aktuelles Zeichen übergeben wird. Zb. RE2 hat den Fokus. Eine Eingabe erfolgt im RE2 und der aktuell eingegebene Buchstabe soll direkt im RE1 dargestellt werden und Fokus ist auch im RE1. |
AW: Fokusproblem im Richedit
Wo ist denn jetzt das Problem?
Wenn eine Komponente den fokus hat kann sie auf die Tastatureingaben reagieren. Das heißt nicht, daß es so aussieht als ob diese Komponente den Fokus hätte (Cursor, selektion etc.) Du kannst jederzeit sowohl in Trichedit und Tlistview(?) eine Tastatureingabe abfangen und an eine beliebige Komponente auf Deiner Form weiterreichen. (und an nicht visuelle Variable und Objekte und ......) Gruß K-H |
AW: Fokusproblem im Richedit
Zitat:
Delphi-Quellcode:
ein neues Tastatur Event.
if redt2.focused then
begin redt1.setFocus; keybd_event(Byte(Key), 0, KEYEVENTF_EXTENDEDKEY,0); Key := #0; end; Ich bin am Testen ob das für mich funktioniert. Zitat:
|
AW: Fokusproblem im Richedit
zu a) wenn der Cursor an der Stelle im RichEdit steht(gestanden hat) an der eingefügt werden soll, schreibst Du:
Delphi-Quellcode:
Ist im RichEdit Text markiert, wird dieser dabei überschrieben. Willst Du das nicht, kannst Du mit RichEdit.SelLength :=0; die Markierung aufheben. Die Markierung im RichEdit -bei Focusverlust- siehst Du auch noch wenn Du Hideselectien auf False setzt.
RichEdit.SelText := Key;
|
AW: Fokusproblem im Richedit
Ich versuche es nochmals anders zu beschreiben:
2 Richedit (RE1 + RE2). Im RE1 befindet sich ein Text, das Caret steht (bzw. blinkt) sichtbar. Nun mache ich eine Fokuswechsel auf RE2. Sichtbares Caret auf RE1 ist verschwunden. Wie schaffe ich, das es weiterhin auch in RE1 sichtbar bleibt - obwohl es keinen Fokus mehr hat? |
AW: Fokusproblem im Richedit
Du willst, dass rein optisch beide RichEdits den Fokus haben? Ich wüsste jetzt nicht, wie das gehen soll, abgesehen davon würde mich als Anwender so etwas wahnsinnig machen.
|
AW: Fokusproblem im Richedit
Das wäre nur zum testen. In "echt" ist es eine Richedit in der ich tippe und passende Vorschläge in der Listview erhalte und in diesem Fall macht es für mich schon einen Sinn.
|
AW: Fokusproblem im Richedit
Zitat:
Das erheitert auch nicht, aber funktioniert. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 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