Fereastra vizibilitate

O fereastră poate fi vizibile sau ascunse. Sistemul afișează o fereastră vizibile pe ecran. Se ascunde o ascunse fereastra de desen nu este. Dacă o fereastră este vizibilă, utilizatorul poate furniza intrare în fereastra și a vizualiza fereastra de ieșire. Dacă o fereastră este ascuns, eficient este dezactivată. O fereastră ascunse poate procesa mesaje de sistem sau de alte windows, dar nu procesul de intrare de la utilizator sau afișa ieșire. O cerere stabilește o fereastră vizibilitatea stat la crearea fereastra. Mai târziu, cererea poate schimba starea de vizibilitate.

O fereastră este vizibilă atunci când stilul WS_VISIBLE este setat pentru fereastra. Implicit, funcția CreateWindowEx creează o fereastră ascunse dacă cererea specifică stilul WS_VISIBLE. De obicei, o cerere stabilește stilul WS_VISIBLE după ce le-a creat o fereastră pentru a păstra detaliile procesului de creare ascunse din partea utilizatorului. De exemplu, o cerere poate păstra o fereastră nouă ascunse în timp ce se particularizează aspectul a ferestrei. Dacă stilul WS_VISIBLE este specificată în CreateWindowEx, sistemul trimite mesajul WM_SHOWWINDOW fereastra după crearea fereastra, dar înainte de afișarea it.

Cererea poate determina dacă o fereastră este vizibilă utilizând funcția IsWindowVisible . Cererea poate Arată (a se face vizibil) sau ascunde o fereastră utilizând funcția de ShowWindow, SetWindowPos, DeferWindowPossau SetWindowPlacement . Aceste funcții Arată sau ascunde o fereastră prin setarea sau eliminarea stilul WS_VISIBLE pentru fereastra. Ei, de asemenea, trimite mesajul WM_SHOWWINDOW fereastra înainte de afișarea sau ascunderea it.

Când o fereastră de proprietar este minimizată, sistemul automat ascunde asociate deținute windows. În mod similar, atunci când o fereastră de proprietar este restaurat, sistemul automat afișează asociate deținute windows. În ambele cazuri, sistemul trimite mesajul WM_SHOWWINDOW windows deținute înainte de ascunderea sau afișarea ei. Ocazional, o cerere poate trebuie să ascundeți windows deținută fără a minimiza sau ascunde proprietarul. În acest caz, aplicația utilizează funcția ShowOwnedPopups . Această funcție seturi sau elimină stilul WS_VISIBLE pentru toate ferestrele de proprietate și trimite mesajul WM_SHOWWINDOW windows deținute înainte de ascunderea sau afișarea ei. Ascunderea unei ferestre de proprietarul nu are efect în statul de vizibilitate de proprietate windows.

Când o fereastră părinte este vizibil, sa windows copil asociate, de asemenea, sunt vizibile. În mod similar, atunci când fereastra părinte este ascuns, windows său copil, de asemenea, sunt ascunse. Minimizarea fereastra părinte nu are efect în statul de vizibilitate de Ferestre copilului; Ferestre copilului sunt minimizate împreună cu mamă, dar nu se modifică stilul WS_VISIBLE.

Chiar dacă o fereastră are stilul WS_VISIBLE, utilizatorul nu poate fi capabil pentru a vedea fereastra pe ecran; alte windows se pot suprapune complet este sau poate au fost mutat dincolo de marginea ecranului. De asemenea, o fereastră de copil vizibile este sub rezerva normelor tăiere stabilite prin rela?iile sale părinte-copil. Dacă fereastra părinte a ferestrei nu este vizibilă, este, de asemenea, nu va fi vizibilă. Dacă fereastra părinte se mută dincolo de marginea ecranului, fereastra copil mută, de asemenea, datorită o fereastră de copil este relativ la părinte colțul din stânga. De exemplu, un utilizator poate muta fereastra părinte care con?in fereastra copil destul de departe pe marginea ecranului că utilizatorul nu poate fi capabil pentru a vedea fereastra copil, chiar dacă fereastra copil și fereastra sa mamă ambele au stilul WS_VISIBLE.