CreateWindowEx -funksjonen oppretter en overlappet, popup-vindu eller underordnede vinduet med en utvidet stil; Ellers, er denne funksjonen identisk med CreateWindow -funksjonen. Hvis du vil ha mer informasjon om hvordan du oppretter et vindu og full beskrivelser av andre parameterne for CreateWindowEx, se CreateWindow.
() HWND CreateWindowEx DWORD dwExStyle, / / utbygget VindustypeLPCTSTRlpClassName, / / peker til registrert KlassenavnLPCTSTRlpWindowName, / / peker til vindusnavnetDWORDdwStyle, / / Vindustype int x, / / vannrette plasseringen av vinduet int y, / / vertikal posisjon-vinduet intnWidth, / / vindusbredde intnHeight, / / VindushøydeHWNDhWndParent, / / håndtere til overordnede eller eier-vinduetHMENUhMenu, / / håndtere menyen eller undervindu identifikatorHINSTANCEhInstance, / / håndtere til programforekomstenLPVOIDlpParam / / peker til data-vinduet-oppretting);
| Stil | Betydning |
|---|---|
| WS_EX_ACCEPTFILES | Angir at et vindu som er opprettet med denne stilen godtar dra-slipp filer. |
| WS_EX_APPWINDOW | Tvinger frem et vindu på øverste nivå bort på oppgavelinjen når vinduet er synlig. |
| WS_EX_CLIENTEDGE | Angir at et vindu har en kantlinje med en nedsunket kant. |
| WS_EX_CONTEXTHELP | Inneholder et spørsmålstegn i tittellinjen i vinduet. Når brukeren klikker du spørsmålstegnet, endres markøren til et spørsmålstegn, med en peker. Hvis brukeren deretter klikker et underordnet vindu, mottar barnet en WM_HELP-melding. Det underordnede vinduet skal sende meldingen til den overordnede vinduet prosedyren, som må kalle funksjonen WinHelp ved hjelp av kommandoen HELP_WM_HELP. Hjelp-program som viser et popup-vindu som vanligvis inneholder hjelp for det underordnede vinduet. WS_EX_CONTEXTHELP kan ikke brukes med stilene for WS_MAXIMIZEBOX eller WS_MINIMIZEBOX. |
| WS_EX_CONTROLPARENT | Tillater brukeren å navigere blant de underordnede vinduene i vinduet ved hjelp av tab-tasten. |
| WS_EX_DLGMODALFRAME | Oppretter et vindu som har en dobbel kantlinje; vinduet kan, eventuelt opprettes med en tittellinje ved å angi stilen for WS_CAPTION i dwStyle -parameteren. |
| WS_EX_LEFT | Vinduet har generisk "venstrejustert" Egenskaper. Dette er standard. |
| WS_EX_LEFTSCROLLBAR | Hvis shell-språk er hebraisk, arabisk, eller et annet språk at støtter lesing rekkefølge justering, det loddrette rullefeltet (Hvis de finnes) er til venstre for klientområdet. For andre språk, er stilen ignorert og ikke behandlet som en feil. |
| WS_EX_LTRREADING | Vinduet teksten vises ved hjelp av venstre mot høyre-leserekkefølgen egenskaper. Dette er standard. |
| WS_EX_MDICHILD | Oppretter et underordnet MDI-vindu. |
| WS_EX_NOPARENTNOTIFY | Angir at et underordnet vindu som er opprettet med denne stilen ikke sender meldingen WM_PARENTNOTIFY til det overordnede vinduet når det opprettes eller ødelagt. |
| WS_EX_OVERLAPPEDWINDOW | Kombinerer WS_EX_CLIENTEDGE og WS_EX_WINDOWEDGE-stiler. |
| WS_EX_PALETTEWINDOW | Kombinerer WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW og WS_EX_TOPMOST-stiler. |
| WS_EX_RIGHT | Vinduet har generisk "høyrejustert" Egenskaper. Dette avhenger av Vindusklassen. Denne stilen har effekt bare hvis skall-språk er hebraisk, arabisk, eller et annet språk som støtter lesing bestille justering; Ellers er stilen ignorert og ikke behandlet som en feil. |
| WS_EX_RIGHTSCROLLBAR | Det er loddrette rullefeltet (Hvis de finnes) til høyre i klientområdet. Dette er standard. |
| WS_EX_RTLREADING | Hvis shell-språk er hebraisk, arabisk, eller et annet språk at støtter lesing rekkefølge justering, vinduet teksten vises ved hjelp av høyre til venstre leserekkefølgen egenskaper. For andre språk, er stilen ignorert og ikke behandlet som en feil. |
| WS_EX_STATICEDGE | Oppretter et vindu med en tredimensjonal kantlinjestil som er ment å brukes for varer som ikke godtar brukerinndata. |
| WS_EX_TOOLWINDOW | Oppretter en verktøyet vindu; det vil si at skal et vindu brukes som en flytende verktøylinje. Et verktøy-vinduet har en tittellinje som er kortere enn en vanlig tittellinje, og vindustittelen er laget ved hjelp av en mindre skrift. Et verktøy-vinduet vises ikke på oppgavelinjen eller i dialogruten som vises når brukeren trykker alt + tab. Hvis et verktøy-vinduet har en system-menyen, vises ikke ikonet på tittellinjen. Du kan imidlertid vise system-menyen ved å høyreklikke eller ved å skrive inn alt + mellomrom. |
| WS_EX_TOPMOST | Angir at et vindu som er opprettet med denne stilen skal plasseres over alle ikke-øverste windows, og bør holde deg over dem, selv når vinduet er deaktivert. Hvis du vil legge til eller fjerne denne stilen, bruk SetWindowPos -funksjonen. |
| WS_EX_TRANSPARENT | Angir at et vindu som er opprettet med denne stilen ikke skal males til søsken under vinduet (som ble opprettet av samme tråd) har vært malt. Vinduet vises gjennomsiktig fordi biter av underliggende søsken windows har allerede vært malt. Hvis du vil oppnå åpenhet uten disse begrensningene, bruker den SetWindowRgn -funksjonen. |
| WS_EX_WINDOWEDGE | Angir at et vindu har en kantlinje med en hevet kant. |
Ved hjelp av WS_EX_RIGHT-stil for statisk eller redigeringskontroller virker på samme måte som når du bruker SS_RIGHT eller ES_RIGHT-stil, henholdsvis. Ved hjelp av denne stilen med knappekontroller virker på samme måte som når du bruker BS_RIGHT-og BS_RIGHTBUTTON.
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 kontroll-Klassenavn.
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 x er satt 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.
Funksjonen CreateWindowEx sender meldinger med WM_NCCREATE, WM_NCCALCSIZE og WM_CREATE til vinduet som skal opprettes.
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.
Windows CE: Windows CE støtter ikke stå alene menylinjer. Parameteren hMenu må være NULL, med mindre det brukes som et underordnet vindu-identifikator.
Windows CE versjon 2.0 og senere støtter følgende to utvidet vindusstiler:
Følgende dwExStyle -flagg støttes ikke.
| WS_EX_ACCEPTFILES | WS_EX_LEFTSCROLLBAR |
| WS_EX_LEFT | WS_EX_MDICHILD |
| WS_EX_LTRREADING | WS_EX_PALETTEWINDOW |
| WS_EX_NOPARENTNOTIFY | WS_EX_RIGHTSCROLLBAR |
| WS_EX_RIGHT | WS_EX_TOOLWINDOW |
| WS_EX_RTLREADING | WS_EX_TRANSPARENT |
| WS_EX_APPWINDOW |
Windows CE 1.0 støtter ikke WS_EX_TOPMOST-stil. Versjon 2.0 og senere gjøre.
Følgende dwStyle -flagg støttes ikke.
| WS_CHILDWINDOW | WS_ICONIC |
| WS_MAXIMIZE | WS_MAXIMIZEBOX |
| WS_MINIMIZE | WS_MINIMIZEBOX |
| WS_OVERLAPPEDWINDOW | WS_POPUPWINDOW |
| WS_SIZEBOX | WS_THICKFRAME |
| WS_TILED | WS_TILEDWINDOW |
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.
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, CreateWindow, GlobalAddAtom, RegisterClassEx, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY