Zeilenumbrüche in TMemo in einem Formular mit der Schaltfläche Standard

8

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.

    
Avo Muromägi 16.03.2013, 10:33
quelle

1 Antwort

2

Setze btnOk.Default auf False in deinem Memo OnEnter und zurück auf True im OnExit des Memos

    
iMan Biglari 17.03.2013, 17:12
quelle

Tags und Links