Okno modalne

Z Wikipedii, wolnej encyklopedii

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[edytuj | edytuj kod]

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.