So erzwingen Sie einen Fokus auf eine Komponente, bevor das Formular angezeigt wird

8

Ich muss (mit showModal) ein Formular mit vielen TEdits zeigen, aber ich möchte den Fokus auf ein TEdit setzen, aber nicht immer das gleiche, abhängig vom Kontext.

Ich kann SetFocus nicht vor dem ShowModal verwenden (weil das Formular nicht aktiviert ist) und den Komponentennamen oder das Tag in meiner Anwendung nicht verwenden. Hast du eine Idee?

    
philnext 15.03.2013, 08:45
quelle

1 Antwort

17

Der einfachste Weg, um Ihr Ziel zu erreichen, ist meines Erachtens die Zuordnung zu ActiveControl Eigenschaft für das Formular. Sie können dies tun, bevor Sie das Formular anzeigen. Wenn das Formular später angezeigt wird, stellt das VCL-Framework sicher, dass dem ActiveControl der Eingabefokus zugewiesen wird.

Aus der Dokumentation :

  

Wenn das Formular keinen Fokus hat, ist ActiveControl das Steuerelement im Formular, das den Fokus erhält, wenn das Formular den Fokus erhält.

    
David Heffernan 15.03.2013, 09:01
quelle

Tags und Links