Ich habe ein Formular in einer Anwendung, die mit FireMonkey geschrieben wurde. Auf dieser (modalen) Form gibt es einen OK-Button, für den ich die Default-Eigenschaft auf True gesetzt habe. Es gibt auch eine Memo-Komponente. Wenn nun beim Eingeben des Memos die Eingabetaste gedrückt wird, wird das Formular geschlossen, anstatt einen Zeilenumbruch in das Memo einzufügen.
Was ich erreichen möchte, ist, dass, wenn Enter (oder shift + enter oder smth) in Memo-Komponente gedrückt wird, dann wird der Zeilenumbruch eingegeben. In anderen Komponenten, in denen Sie keine Zeilenumbrüche eingeben können, möchte ich trotzdem die Eingabetaste drücken, um das Formular zu schließen. Das Beste, was ich bis jetzt gefunden habe, ist das Hinzufügen von folgendem Code in die OnCloseQuery-Aktion der Formulare:
%Vor%Das funktioniert, aber es gibt jetzt eine kleine nervige Verzögerung nach dem Drücken von Enter und bevor der Zeilenumbruch erscheint. Auch hätte ich gerne Lösung, das wäre weniger hacky.
Ich sollte auch darauf hinweisen, dass ich auch Formulare habe, die die OK-Schaltfläche, aber nicht die Memo-Komponente enthalten, jedoch wird ein Memo zur Laufzeit durch Ändern seiner Elterneigenschaft in dieses Formular verschoben.
Setze btnOk.Default
auf False
in deinem Memo OnEnter
und zurück auf True
im OnExit
des Memos
Tags und Links delphi firemonkey-fm2