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.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.