Okno modalne

Wikipedia:Weryfikowalność
Ten artykuł od 2016-11 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

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.