Okno modalne
Ten artykuł od 2016-11 wymaga zweryfikowania podanych informacji. |
Okno modalne (ang. modal window) – okno nie pozwalające na obsługę zdarzeń dotyczących pozostałych okien danej aplikacji. Wówczas żadne inne okno aplikacji nie reaguje na działania użytkownika. W większości przypadków przyjmuje ono postać okna dialogowego z jakimś zapytaniem do użytkownika, które znika, gdy wybierzemy odpowiedź np. Ok, lub Anuluj.
Istnieją też systemowe okna modalne blokujące przetwarzanie zdarzeń przez wszystkie okna systemu (np. okno z zapytaniem o wyłączenie systemu operacyjnego).
Okna modalne w systemie Windows
Windows nie odróżnia w żaden sposób okien modalnych od innych okien dialogowych. W Windows okno modalne wykonuje własną pętlę obsługi zdarzeń, która pobiera zdarzenia z kolejki zdarzeń aplikacji zamiast z głównej pętli obsługi zdarzeń tejże aplikacji i reaguje na zdarzenia dotyczące wyłącznie danego okna, odrzucając pozostałe. W MFC pętla ta zawarta jest w metodzie DoModal.
Systemowe okno modalne tworzy się tak jak zwykłe modalne, dodając mu styl WS_EX_TOPMOST, co sprawia, że okno będzie zawsze na pierwszym planie (nie da się przełączyć na inne okna).
System oferuje też kilka funkcji tworzących specyficzne okna modalne, takich jak MessageBox.