CreateWindow -funksjonen oppretter en overlappet, popup-vindu eller underordnede vinduet. Den angir Vindusklassen, tittel, Vindustype og (valgfritt)-utgangsposisjon og størrelsen på vinduet. Funksjonen angir også vinduets forelder eller eieren, hvis noen, og på Vindu-menyen.
For å bruke utvidede stiler i tillegg til stiler som støttes av CreateWindow, kan du bruke funksjonen CreateWindowEx i stedet for CreateWindow.
() HWND CreateWindow LPCTSTR lpClassName, / / peker til registrert KlassenavnLPCTSTRlpWindowName, / / peker til vindusnavnetDWORDdwStyle, / / VindustypeInt x, / / vannrette plasseringen av vinduet int y, / / vertikal posisjon-vinduet intnWidth, / / vindusbredde intnHeight, / / VindushøydeHWNDhWndParent, / / håndtere til overordnede eller eier-vinduetHMENUhMenu, / / håndtere til menyen eller undervindu identifikatorHåndterehInstance, / / håndtere til programforekomstenLPVOIDlpParam / / peker til data-vinduet-oppretting);
Hvis lpClassName er en streng, angir det vinduet klassenavnet. Klassenavnet kan bli et navn som er registrert med funksjonen RegisterClassEx eller noen av de forhåndsdefinerte Kontrollklasse navnene. En komplett, se under Merknader.
Hvis vindusstilen angir en tittellinje, vises vindustittelen koblingen leder til lpWindowName i tittellinjen. Når du bruker CreateWindow for å opprette kontroller, for eksempel knapper, avmerkingsbokser og statiske kontroller, kan du bruke lpWindowName til å angi teksten i kontrollen.
| Stil | Betydning |
|---|---|
| WS_BORDER | Oppretter et vindu som har en tynn kantlinje. |
| WS_CAPTION | Oppretter et vindu som har en tittellinje (inkluderer WS_BORDER-stil). |
| WS_CHILD | Oppretter et underordnet vindu. Denne stilen kan ikke brukes med WS_POPUP-stil. |
| WS_CHILDWINDOW | Samme som WS_CHILD-stil. |
| WS_CLIPCHILDREN | Utelater området som er okkupert av underordnede vinduer når tegningen oppstår i det overordnede vinduet. Denne stilen som brukes når du oppretter det overordnede vinduet. |
| WS_CLIPSIBLINGS | Klipp underordnede vinduer forhold til hverandre; det vil si når en bestemt undervindu mottar en WM_PAINT -melding, WS_CLIPSIBLINGS-stil maskerer alle andre overlappende underordnede vinduer ut av regionen av det underordnede vinduet oppdateres. Hvis WS_CLIPSIBLINGS ikke er angitt, og underordnede vinduer som overlapper hverandre, er det mulig, når du tegner i klientområdet for et underordnet vindu, til å tegne i klientområdet av en nabokommunene undervindu. |
| WS_DISABLED | Oppretter et vindu som opprinnelig er deaktivert. Et vindu som er deaktivert, kan ikke motta inndata fra brukeren. |
| WS_DLGFRAME | Oppretter et vindu som har en kantlinje på en stil brukes vanligvis sammen med dialogbokser. Et vindu med denne stilen kan ikke ha en tittellinje. |
| WS_GROUP | Angir den første kontrollen av kontrollgruppe. Gruppen består av denne første kontroll og alle kontroller som er definert etter det, opp til neste kontroll med WS_GROUP-stil. Den første kontrollen i hver gruppe har vanligvis stilen WS_TABSTOP slik at brukeren kan flytte fra gruppe til gruppe. Brukeren kan senere endrer tastaturfokus fra en kontroll i gruppen til neste kontroll i gruppen ved hjelp av piltastane. |
| WS_HSCROLL | Oppretter et vindu som har et vannrett rullefelt. |
| WS_ICONIC | Oppretter et vindu som er minimert først. Samme som WS_MINIMIZE-stil. |
| WS_MAXIMIZE | Oppretter et vindu som er maksimert først. |
| WS_MAXIMIZEBOX | Oppretter et vindu som har en Maksimer-knappen. Kan ikke kombineres med WS_EX_CONTEXTHELP-stil. WS_SYSMENU-stil må også angis. |
| WS_MINIMIZE | Oppretter et vindu som er minimert først. Samme som WS_ICONIC-stil. |
| WS_MINIMIZEBOX | Oppretter et vindu som har en Minimer-knapp. Kan ikke kombineres med WS_EX_CONTEXTHELP-stil. WS_SYSMENU-stil må også angis. |
| WS_OVERLAPPED | Oppretter et overlappet vindu. Et overlappet vindu har en tittellinje og en kantlinje. Samme som WS_TILED-stil. |
| WS_OVERLAPPEDWINDOW | Oppretter et overlappet vindu med stilene for WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX og WS_MAXIMIZEBOX. Samme som WS_TILEDWINDOW-stil. |
| WS_POPUP | Oppretter et popup-vindu. Denne stilen kan ikke brukes med WS_CHILD-stil. |
| WS_POPUPWINDOW | Oppretter et popup-vindu med stiler for WS_BORDER, WS_POPUP og WS_SYSMENU. Stilene for WS_CAPTION og WS_POPUPWINDOW må kombineres for å gjøre det synlig på vindusmenyen. |
| WS_SIZEBOX | Oppretter et vindu som har en størrelse kantlinje. Samme som WS_THICKFRAME-stil. |
| WS_SYSMENU | Oppretter et vindu som har en Vindu-menyen på tittellinjen. WS_CAPTION-stil må også angis. |
| WS_TABSTOP | Angir en kontroll som kan motta fokus på tastaturet når brukeren trykker tab-tasten. Trykker tab-tasten, endres fokus på tastaturet til neste kontroll med WS_TABSTOP-stil. |
| WS_THICKFRAME | Oppretter et vindu som har en størrelse kantlinje. Samme som WS_SIZEBOX-stil. |
| WS_TILED | Oppretter et overlappet vindu. Et overlappet vindu har en tittellinje og en kantlinje. Samme som WS_OVERLAPPED-stil. |
| WS_TILEDWINDOW | Oppretter et overlappet vindu med stilene for WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX og WS_MAXIMIZEBOX. Samme som WS_OVERLAPPEDWINDOW-stil. |
| WS_VISIBLE | Oppretter et vindu som er utgangspunktet synlig. |
| WS_VSCROLL | Oppretter et vindu som har et loddrett rullefelt. |
Hvis denne parameteren settes til CW_USEDEFAULT, velger standardplassering for vinduets øverste venstre hjørne i systemet, og ignorerer y -parameteren. CW_USEDEFAULT er gyldig bare for overlappende vinduer; Hvis den er angitt for er et popup-vindu eller underordnede vinduet, x og y parametere satt til null.
Hvis en overlappet vindu opprettes med bitsettet for WS_VISIBLE-stil, og x -parameteren er satt til CW_USEDEFAULT, ignorerer systemet y -parameteren.
Windows NT 5.0 og senere: For å opprette en melding bare vindu, kan du angi HWND_MESSAGE eller en referanse til et eksisterende bare melding-vindu.
Hvis funksjonen lykkes, er returverdien en referanse til det nye vinduet.
Hvis funksjonen mislykkes, er verdien som returneres NULL. Til å vise utvidet feilinformasjon, kan du ringe GetLastError.
Før retur, sender CreateWindow en WM_CREATE melding i vinduet prosedyren. For overlappes, popup- og underordnede vinduer, sender CreateWindow WM_CREATE, WM_GETMINMAXINFOog WM_NCCREATE -meldinger til vinduet. LParam -parameteren for WM_CREATE meldingen inneholder en peker til en CREATESTRUCT struktur. Hvis stilen WS_VISIBLE er angitt, sender CreateWindow vinduet alle meldinger som kreves for å aktivere, og Vis vinduet.
Du finner mer informasjon på å kontrollere om oppgavelinjen viser en knapp for vinduet opprettet under Synlighet oppgavelinjeknapper.
Du kan angi følgende forhåndsdefinerte kontroll klasser i parameteren lpClassName . Merk den tilsvarende kontrollen stiler du kan bruke i parameteren dwStyle.
| Klassen | Betydning |
|---|---|
| KNAPPEN | Angir en liten rektangulær underordnet vindu som representerer en knapp som brukeren kan klikke for å slå det av eller på. Knappekontroller kan brukes alene eller i grupper, og de kan enten bli merket eller vises uten tekst. Knappen styrer vanligvis endrer utseende når brukeren klikker dem. Hvis du vil ha mer informasjon, kan du se knapper. |
| Hvis du vil se en tabell over knappestiler kan du angi i parameteren dwStyle , se Knappestiler. | |
| COMBOBOX | Angir en kontroll som består av en liste og en valgfeltet ligner en redigeringskontroll. Når du bruker denne stilen, bør et program vise listen til enhver tid eller aktivere en miste-ned liste. Hvis listen vises, uthever skrive inn tegn i valgfeltet den første liste boksen oppføringen som samsvarer med tegnene som er skrevet inn. Motsatt, hvis du merker et element i listeboksen viser den merkede teksten i valgfeltet. Hvis du vil ha mer informasjon, kan du se Kombinasjonsbokser. |
| Hvis du vil se en tabell av Boksstiler kombinasjonsboksen, kan du angi i parameteren dwStyle , se Combo Boksstiler. | |
| REDIGER | Angir et rektangulært underordnet vindu der brukeren kan skrive inn tekst fra tastaturet. Brukeren velger kontrollen og gir den fokus på tastaturet ved å klikke den eller flytte den ved å trykke tab-tasten. Brukeren kan skrive inn tekst når redigeringskontrollen viser et blinkende cirkumflekstegn; bruke musen til å flytte markøren, velge tegn erstattes, eller Plasser markøren for å sette inn tegn; eller bruke Tilbake-tasten til å slette tegn. Hvis du vil ha mer informasjon, kan du se -Redigeringskontroller. |
| Finner en tabell med Rediger kontroll stilene du kan angi i dwStyle -parameteren, kan du se Redigere stiler for kontroll. | |
| LISTBOX | Angir en liste over tegnstrenger. Angi denne kontrollen hver gang et program må presentere en liste med navn, for eksempel filnavn, som brukeren kan velge. Brukeren kan velge en streng ved å klikke den. En valgte streng er uthevet, og en melding er sendt til det overordnede vinduet. Hvis du vil ha mer informasjon, kan du se Lister. |
| Hvis du vil se en tabell av Boksstiler listen, kan du angi i parameteren dwStyle , se Boksen listestiler. | |
| MDICLIENT | Angir et vindu for MDI-klienten. Dette vinduet mottar meldinger som kontrollerer MDI søknad underordnede vinduer. De anbefalte stil bitene er WS_CLIPCHILDREN og WS_CHILD. Angi WS_HSCROLL og WS_VSCROLL-stiler for å opprette et vindu for MDI-klienten som tillater brukeren å bla underordnede MDI-vinduer i visningen. Hvis du vil ha mer informasjon, kan du se Flere Document Interface. |
| RichEdit | Angir en versjon 1.0 Rich Edit-kontrollen. Dette vinduet lar brukeren-visningen og redigerer tekst med tegn- og avsnittsformatering, og kan inkludere innebygde COM-objekter. Hvis du vil ha mer informasjon, kan du se Rich-redigeringskontroller. |
| Hvis du vil se en tabell av rich edit-kontrollen stilene du kan angi i parameteren dwStyle , se Rich redigere kontroll stiler. | |
| RICHEDIT_CLASS | Angir en versjon 2.0 Rich Edit-kontrollen. Denne kontroller la brukeren visningen og redigerer tekst med tegn- og avsnittsformatering, og kan inkludere innebygde COM-objekter. Hvis du vil ha mer informasjon, kan du se Rich-redigeringskontroller. |
| Hvis du vil se en tabell av rich edit-kontrollen stilene du kan angi i parameteren dwStyle , se Rich redigere kontroll stiler. | |
| RULLEFELT | Angir et rektangel som inneholder en rulleboks og har retningspiler i begge ender. Rullefeltet sender en varslingsmelding til det overordnede vinduet når brukeren klikker kontrollen. Det overordnede vinduet er ansvarlig for å oppdatere plasseringen av rulleboksen, om nødvendig. Hvis du vil ha mer informasjon, kan du se Rullefelt. |
| Hvis du vil se en tabell av scroll bar kontroll stilene du kan angi i parameteren dwStyle , se Bla Stolpestiler-kontroll. | |
| STATISK | Angir en enkel tekst-feltet, boksen eller rektangel som brukes til å merke boksen eller skille andre kontroller. Statiske kontroller tar ingen inndata, og gir ingen utdata. Hvis du vil ha mer informasjon, kan du se Statiske kontroller. |
| Hvis du vil se en tabell av statisk kontroll-stiler som du kan angi i parameteren dwStyle , se Statisk kontroll-stiler. |
Windows 95:Systemet kan støtte maksimalt 16,364 vinduet håndtak.
&Notenbsp; Hvis du angir Windows versjon 4.x når du kobler søknaden, kan ikke vinduene ha bildetekst knapper med mindre de har også vinduet menyer. Dette er ikke et krav hvis du angir Windows versjon 3.x når du kobler programmet.
Windows CE: CreateWindow er implementert som en makro. Det er definert som CreateWindowEx, men med dwExStyle -parameteren angitt til 0 L.
Menylinjer støttes ikke. Parameteren hMenu må være NULL, med mindre det brukes som et underordnet vindu-identifikator.
MDICLIENT Vindusklassen støttes ikke.
DwStyle -parameteren kan være en kombinasjon av vinduet stilene og kontroll stiler som er dokumentert i:
Dialogbokser
Windows
Kontroller
Følgende dwStyle -flagg støttes ikke for windows:
| WS_CHILDWINDOW | WS_ICONIC |
| WS_MAXIMIZE | WS_MAXIMIZEBOX |
| WS_MINIMIZE | WS_MINIMIZEBOX |
| WS_OVERLAPPEDWINDOW | WS_POPUPWINDOW |
| WS_SIZEBOX | WS_THICKFRAME |
| WS_TILED | WS_TILEDWINDOW |
Følgende dwStyle -flagg støttes ikke for kontroller og dialogbokser:
| Ustøttet knappestiler | Statisk kontroll som ikke støttes-stiler |
| BS_LEFTTEXT | SS_BLACKFRAME |
| BS_MULTILINE | SS_GRAYFRAME |
| BS_TEXT | SS_METAPICT |
| BS_USERBUTTON | SS_SIMPLE |
| Ustøttet combo Boksstiler | SS_WHITERECT |
| CBS_OWNERDRAWFIXED | SS_BLACKRECT |
| CBS_OWNERDRAWVARIABLE | SS_GRAYRECT |
| CBS_SIMPLE | SS_RIGHTIMAGE |
| Ustøttet boksen kontroll listestiler | SS_WHITEFRAME |
| LBS_NODATA | Ustøttet dialogboksen Boksstiler |
| LBS_OWNERDRAWFIXED | DS_ABSALIGN |
| LBS_OWNERDRAWVARIABLE | DS_CENTERMOUSE |
| LBS_STANDARD | DS_CONTEXTHELP |
| Ustøttet Rull Stolpestiler | DS_FIXEDSYS |
| SBS_BOTTOMALIGN | DS_NOFAILCREATE |
| SBS_RIGHTALIGN | DS_NOIDLEMSG |
| SBS_SIZEBOXBOTTOMRIGHTALIGN | DS_SYSMODAL |
| SBS_SIZEGRIP |
Du kan bruke BS_OWNERDRAW-stil som en erstatning for BS_USERBUTTON-stil.
Du kan bruke stilen SS_LEFT eller SS_LEFTNOWORDWRAP i stedet for SS_SIMPLE-stil for statiske kontroller..
MDICLIENT Vindusklassen støttes ikke.
Alle windows har implisitt WS_CLIPSIBLINGS og WS_CLIPCHILDREN-stiler.
Windows CE 1.0 støtter ikke eide windows, unntatt for dialogbokser. Hvis ikke hwndParent parameteren er NULL, er vinduet implisitt gitt WS_CHILD-stil.
Windows CE versjon 1.0 støtter ikke menylinjer.
nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Krever versjon 1.0 eller senere.
Topptekst:Deklarert i winuser.h.
Importere biblioteket:Bruk user32.lib.
Unicode:Implementert som Unicode- og ANSI-versjoner på Windows NT.
Oversikt over Windows vinduet fungerer, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT