Form mit ESC schliessen



  • Hi,

    in einem Form lade ich einen TFrame. Genauer gesagt enthält das Form ein PageControl und im entsprechenden TabSheet lade ich das Frame.

    Wie muss ich das anstellen, damit ich das Form via ESC schliessen kann?

    KeyDown im Form scheint nicht zu funktionieren da der Focus vermutlich (?) auf einem anderen Control liegt und so das Event vom Form nicht gefeuert werden kann.

    Die ActiveControl Eigenschaft ist im Form nicht eingestellt.

    Das Form wird so erstellt:

    TForm* frm = new TForm(Application)
    

    erstellt.

    Danke!



  • Dann musst du das KeyDown-Ereignis der Komponente benutzen, worauf der Focus liegt 😉



  • Naja...

    Nur im Fall vom TFrame geht das nicht unbedingt da das TFrame innerhalb den Form eben "eigenständig" läuft - d.h. keinen Zugriff auf das Form hat. Außer natürlich ich caste den Parent aber dafür müsste ich den Header vom Form im Frame einbinden damit ich auf die Member vom Form zugreifen kann.

    Aber genau das wollte ich eigentlich vermeiden, sonst hätte ich den Frame weggelassen und das gleich ins entsprechende Form packen können.



  • TForm::KeyPreview aktivieren!?



  • @Jansen

    Danke! 😃


Anmelden zum Antworten