Vinduet synlighet

Et vindu kan være synlige eller skjulte. Systemet viser en synlig vinduet på skjermen. Det skjuler et skjult vindu ved å ikke trekke det. Hvis et vindu er synlig, kan brukeren angi inndata til vinduet og vise vinduets utdata. Hvis et vindu er skjult, er det effektivt deaktivert. Et skjult vindu kan behandle meldinger fra systemet eller fra andre windows, men det kan ikke behandle inndata fra brukeren eller vise utdataene. Et program angir synlighet-tilstand i et vindu når du oppretter vinduet. Senere, kan programmet endre synlighetsstatus.

Et vindu er synlig når WS_VISIBLE style er satt for vinduet. Som standard oppretter funksjonen CreateWindowEx en skjult vindu med mindre programmet angir WS_VISIBLE-stilen. Vanligvis angir et program stilen WS_VISIBLE etter at det har opprettet et vindu for å holde detaljene i opprettingen som er skjult for brukeren. Et program kan for eksempel ha et nytt vindu skjult mens det tilpasser vinduets utseende. Hvis stilen WS_VISIBLE er angitt i CreateWindowEx, sender systemet WM_SHOWWINDOW meldingen til vinduet når du har opprettet i vinduet, men før det blir vist.

Et program kan bestemme om et vindu er synlig ved hjelp av funksjonen IsWindowVisible . Et program kan vise (lag synlig) eller skjule et vindu ved hjelp av funksjonen ShowWindow, SetWindowPos, DeferWindowPoseller SetWindowPlacement . Disse funksjonene Vis eller Skjul et vindu ved å angi eller fjerne stilen WS_VISIBLE for vinduet. De har også sende meldingen WM_SHOWWINDOW til vinduet før visning eller skjuling av det.

Når en eiervinduet er minimert, skjuler systemet automatisk det tilknyttede eid av windows. På samme måte, når en eiervinduet er gjenopprettet, systemet viser automatisk det tilknyttede eid av windows. I begge tilfeller sender systemet WM_SHOWWINDOW meldingen før du skjuler eller viser dem til eid windows. Av og til kan et program måtte skjule eid windows uten å minimere eller skjule eieren. I dette tilfellet, bruker programmet funksjonen ShowOwnedPopups . Denne funksjonen angir eller fjerner WS_VISIBLE-stil for alle vinduer i eid og sender meldingen WM_SHOWWINDOW til eid windows før du skjuler eller viser dem. Skjule en eiervinduet har ingen innvirkning på synlighet delstaten eid windows.

Når et overordnet vindu er synlig, er sin tilknyttede underordnede vinduer også synlige. På samme måte, når det overordnede vinduet er skjult, dens underordnede vinduer er også skjult. Minimere det overordnede vinduet har ingen innvirkning på synlighet delstaten underordnede vinduer; det vil si at underordnede vinduer er minimert sammen med overordnet, men endres ikke stilen WS_VISIBLE.

Selv om et vindu har stilen WS_VISIBLE, kan ikke brukeren kunne se vinduet på skjermen. andre vinduer kan fullstendig overlapping det, eller det kan ha blitt flyttet utenfor kanten av skjermen. Et synlig underordnet vindu er også underlagt klipping-reglene som er etablert av dens overordnet-underordnet forhold. Hvis vinduets overordnede vinduet ikke er synlig, vil det også ikke være synlig. Hvis det overordnede vinduet går utenfor kanten av skjermen, flyttes også det underordnede vinduet fordi et underordnet vindu er trukket i forhold til den overordnede øvre venstre hjørne. En bruker kan for eksempel flytte det overordnede vinduet som inneholder det underordnede vinduet langt nok av kanten av skjermen at brukeren ikke kan kunne se det underordnede vinduet, selv om det underordnede vinduet og det overordnede vinduet begge har WS_VISIBLE-stil.