Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TRichEdit schluckt Tastendrücke (https://www.delphipraxis.net/191654-trichedit-schluckt-tastendruecke.html)

Der schöne Günther 7. Feb 2017 10:19

TRichEdit schluckt Tastendrücke
 
Ich lege einen Button auf ein Formular und gebe dem Button
Delphi-Quellcode:
Cancel = True
. Ab sofort kann ich mich darauf verlassen dass seine Aktion ausgelöst wird wenn jemand die Escape-Taste drückt.

Legt man ein TRichEdit auf das Formular funktioniert das nicht wenn das TRichEdit den Fokus hat. Wie komme ich da wieder raus? In meinem RichEdit interessiert es mich nicht ob jemand die Escape-Taste drückt.

nahpets 7. Feb 2017 10:50

AW: TRichEdit schluckt Tastendrücke
 
KeyPreview der Form auf True setzen und dann eventuell sowas?
Delphi-Quellcode:
procedure Tform1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  Case Key Of
    13 : Begin
           // Hier das machen, was bei ESC passieren soll.
           DeinCancelButtonClick(Sender);
         End;
  End;
end;

Der schöne Günther 7. Feb 2017 10:52

AW: TRichEdit schluckt Tastendrücke
 
Ja, aber ich würde lieber die Ursache beim TRichEdit anfassen anstatt immer im Hinterkopf behalten zu müssen "Achtung, wenn ein RichEdit im Spiel ist, dann auf jedem Formular immer noch Sonderbehandlungen einbauen".

Sherlock 7. Feb 2017 11:01

AW: TRichEdit schluckt Tastendrücke
 
Das geht wohl recht in die Tiefe und ist ein altbekanntes Problem: http://stackoverflow.com/questions/2...n-tedit-doesnt

Du könntest also eventuell eine eigene Version des TRichEdit erzeugen, das den Esc-Key nicht mehr einfängt.

Sherlock

Der schöne Günther 7. Feb 2017 11:03

AW: TRichEdit schluckt Tastendrücke
 
Vielen Dank, das sieht so aus als ob man damit weiterkommen könnte.

Wenn auch unnötig viel Aufwand für so etwas :|

mm1256 7. Feb 2017 11:07

AW: TRichEdit schluckt Tastendrücke
 
Wobei aber die Vorgehensweise mit
Code:
KeyPreview = true
- bitte korrigiert mich wenn ich falsch liegen sollte - die einzige Lösung ist, die auch mit z.B. einem TMemo, einem DBGrid der den Focus hat usw. funktioniert.

stahli 7. Feb 2017 11:18

AW: TRichEdit schluckt Tastendrücke
 
Hat denn ESC eine Funktion im RichEdit? ("Änderungen verwerfen" oder so?)

Dann wäre der User vielleicht gar nicht erfreut, wenn das umgebogen würde...

Der schöne Günther 7. Feb 2017 11:29

AW: TRichEdit schluckt Tastendrücke
 
Das ist ein guter Einwand. Aber mir fällt kein Nutzen ein.

Für Enter und Tab würde mir einfallen dass man den sehr wohl im RichEdit haben möchte. Und tatsächlich dafür hat ein TRichEdit auch zwei Boolean-Eigenschaften
Delphi-Quellcode:
WantReturns
und
Delphi-Quellcode:
WantTabs
. Aber an die Escape-Taste scheint keiner gedacht zu haben...

Klaus01 7. Feb 2017 11:31

AW: TRichEdit schluckt Tastendrücke
 
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Code:
Esc   Stop drag-drop.           While doing a drag-drop of text.
Grüße
Klaus

Der schöne Günther 7. Feb 2017 11:47

AW: TRichEdit schluckt Tastendrücke
 
Na klar! Vielen Dank! :thumb:

Wieder was gelernt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.
Seite 1 von 2  1 2      

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