Okno widoczności

Okno może być widoczny czy ukryty. System wyświetla okno widoczne na ekranie. Przez nie rysowania go ukrywa ukryte okno . Jeśli okno jest widoczny, użytkownik może dostarczyć dane wejściowe do okna i wyświetlanie okna. Jeśli okno jest ukryty, jest skutecznie wyłączone. Ukryte okno można przetwarzać wiadomości z systemu lub innych okien, ale nie może przetworzyć danych wejściowych od użytkownika lub wyświetlania danych wyjściowych. Aplikacja ustawia okno stanu, tworząc okno. Później aplikacji można zmienić stan widoczności.

Okna jest widoczny, gdy zestaw stylów WS_VISIBLE okna. Domyślnie funkcja funkcji CreateWindowEx tworzy ukryte okno, chyba że aplikacja określa styl WS_VISIBLE. Zazwyczaj aplikacja ustawia styl WS_VISIBLE, po stworzyła okno, aby zachować szczegóły procesu tworzenia ukryte przez użytkownika. Na przykład aplikacja może przechowywać nowe okno ukryte podczas dostosowuje wygląd okna. Jeśli styl WS_VISIBLE jest określony w funkcji CreateWindowEx, system wysyła komunikat WM_SHOWWINDOW aby oknie, po utworzeniu okna, ale przed wyświetleniem go.

Aplikację można określić, czy okna jest widoczny przy użyciu funkcji IsWindowVisible . Aplikację można wyświetlić (zwierny widoczne) lub ukryć okno za pomocą funkcji ShowWindow, SetWindowPos, DeferWindowPoslub SetWindowPlacement . Te funkcje pokazać lub ukryć okno przez ustawianie lub usuwanie stylu WS_VISIBLE okna. One również wysłać wiadomość WM_SHOWWINDOW aby oknie zanim pokazując lub ukrywając go.

Gdy okno właściciel jest zminimalizowane, system automatycznie ukrywa skojarzonym własnością systemu windows. Podobnie po przywróceniu okno właściciela, system automatycznie wyświetlana skojarzonym własnością systemu windows. W obu przypadkach system wysyła komunikat WM_SHOWWINDOW własnością systemu Windows przed ukrycie lub pokazanie im. Czasami aplikacja może być konieczne ukryć własnością systemu windows bez konieczności Minimalizowanie lub ukryć właściciela. W tym przypadku aplikacja korzysta z funkcji ShowOwnedPopups . Ta funkcja ustawia lub usuwa stylu WS_VISIBLE dla wszystkich okien własnością i wysyła wiadomość WM_SHOWWINDOW własnością systemu windows przed ukrycie lub pokazanie im. Ukrywanie okna właściciel nie ma wpływu na stan widzialności własnością systemu Windows.

Gdy okno nadrzędne jest widoczny, okien podrzędnych są również widoczne. Podobnie gdy okno nadrzędne jest ukryty, jego okien podrzędnych również są ukryte. Minimalizowanie okna nadrzędnego nie ma wpływu na stan widzialności okien podrzędnych; oznacza to, że okien podrzędnych są zminimalizowane wraz z obiektu nadrzędnego, ale nie zmienił styl WS_VISIBLE.

Nawet wtedy, gdy okno zostało zapisane w stylu WS_VISIBLE, użytkownik może nie można wyświetlić okna na ekranie; inne okna całkowicie mogą nakładać je lub został przeniesiony poza krawędzi ekranu. Okna podrzędnego widoczne jest również podlega zasadom odcinania ustanowionych przez jej relacji nadrzędny podrzędny. Jeśli okno nadrzędne nie jest widoczny, również nie będzie widoczny. Jeśli okno nadrzędne wykraczając poza krawędź ekranu, okno potomne również zostanie przesunięte, ponieważ okna podrzędnego jest rysowany względem lewego górnego rogu obiektu nadrzędnego. Na przykład użytkownik może przenieść okno nadrzędne, zawierające okno podrzędne wystarczająco daleko poza krawędź ekranu, że użytkownik nie może być widoczne okno potomne, nawet, jeśli okno podrzędne i jego okno nadrzędne mają styl WS_VISIBLE.