Muszę się z Wami podzielić dość prostą sprawą, może dla niektórych oczywistą, jednak mi przytrafia się ona po raz pierwszy i myślę, że oprócz mnie mogą się też pojawić inne osoby, które staną przed podobnym problemem.
Wszyscy pewnie wiedzą, że każdy obiekt klasy Ext.Window reaguje na naciśnięcie klawisza Esc zamknięciem okna. Do tej pory w wielu aplikacjach, które napisałem było to pożądane działanie. Ostatnim czasem jednak ktoś zwrócił mi uwagę, że jedno z okien dialogowych w pewnej aplikacji, zawierające dość złożony formularz nie powinno się zamykać na przypadkowe naciśniecie klawisza Esc. Powodowało to niepotrzebną utratę danych wprowadzonych do formularza.
Pierwszy mój pomysł na rozwiązanie tego problemu, był taki aby przypisać wydarzenie wciśnięcia klawisza Esc i uniemożliwić tym samym zamknięcie okna, jednak wydawało mi się to trochę zbyt skomplikowane rozwiązanie. Postanowiłem, więc poszperać w dokumentacji i w sieci. Okazało się, że klasa Ext.Window posiada własność onEsc, której można przypisać funkcję jaka ma być wykonana po wciśnięciu klawisza Esc. Jeśli przypiszemy w tym miejscu pustą funkcję, nasze okno się nie zamknie.