CreateWindowEx

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);
 

Parametere

dwExStyle
Angir stilen som er utvidet av vinduet. Denne parameteren kan være en av følgende verdier:
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.

lpClassName
Pekeren til en null-terminert streng eller er en heltall-atom. Hvis lpClassName er et atom, det må være en global atom som er opprettet av et tidligere anrop til GlobalAddAtom. Atom, en 16-biters verdi mindre enn 0xC000, må være i signifikante ordet av lpClassName; signifikante ordet må være null.

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.

lpWindowName
Pekeren til en null-terminert streng som angir navnet på vinduet.

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.

dwStyle
Angir stilen til vinduet blir opprettet. Denne parameteren kan være en kombinasjon av følgende vindusstiler, pluss kontroll stilene som er angitt i delen Merknader.
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.

x
Angir vannrett utgangsposisjon for vinduet. For en overlappet eller popup-vinduet er x -parameteren opprinnelige x-koordinaten av vinduets øverste venstre hjørne, i skjermkoordinater. For et underordnet vindu er x x-koordinatet til øverste venstre hjørne av vinduet forhold til øverste venstre hjørne av det overordnede vinduet klientområdet.

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.

y
Angir loddrett utgangsposisjon for vinduet. For en overlappet eller popup-vinduet er y -parameteren opprinnelige y-koordinat av vinduets øverste venstre hjørne, i skjermkoordinater. For et underordnet vindu er y første y-koordinatet til øverste venstre hjørne av vinduet barn i forhold til øverste venstre hjørne av det overordnede vinduet klientområdet. For en liste er y første y-koordinatet det øverste venstre hjørnet av listens klientområdet forhold til øverste venstre hjørne av det overordnede vinduet klientområdet.

Hvis en overlappet vindu opprettes med bitsettet for WS_VISIBLE-stil, og x -parameteren er satt til CW_USEDEFAULT, ignorerer systemet y -parameteren.

nWidth
Angir bredden i enheten enheter, i vinduet. For overlappende vinduer er nWidth vinduets bredde, i skjermkoordinater eller CW_USEDEFAULT. Hvis nWidth er CW_USEDEFAULT, velger systemet en standardbredde og høyde for vinduet; standardbredden som strekker seg fra de opprinnelige x-koordinatene til høyre kant av skjermen. standardhøyden strekker seg fra den første y-koordinaten til toppen av ikonområdet. CW_USEDEFAULT er gyldig bare for overlappende vinduer; Hvis CW_USEDEFAULT er angitt for et popup-vindu eller et underordnet vindu, parameteren nWidth og nHeight er satt til null.
nHeight
Angir høyden i enheten enheter, i vinduet. For overlappende vinduer er nHeight vinduets høyde, i skjermkoordinater. Hvis parameteren nWidth er satt til CW_USEDEFAULT, ignorerer systemet nHeight.
hWndParent
Håndtere til vinduet overordnede eller eieren av vinduet blir opprettet. Du vil opprette et underordnet vindu eller en eide-vinduet, kan du oppgi en gyldig vindusreferanse. Denne parameteren er valgfri for popup-vinduer.

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.

hMenu
Håndtere på en meny, eller angir et undervindu identifikatoren, avhengig av vinduet-stil. For en overlappet eller popup-vinduet identifiserer hMenu menyen som skal brukes med vinduet; Det kan være NULL hvis klassen-menyen som skal brukes. Et underordnet vindu angir hMenu undervindu identifikatoren, en heltallsverdi som brukes av en dialog boks for å varsle overordnet om hendelser. Programmet bestemmer undervindu identifikatoren; Det må være unikt for alle underordnede vinduer med det samme overordnede-vinduet.
hInstance
Håndtere til forekomst av modulen som skal knyttes til vinduet.
lpParam
En peker til en verdi som skal sendes til vinduet gjennom strukturen CREATESTRUCT gått i lParam -parameteren WM_CREATE meldingen. Hvis et program samtaler CreateWindow for å opprette flere grensesnitt (MDI) klienten dokumentvinduet, må lpParam peke til en CLIENTCREATESTRUCT struktur.

Returverdier

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.

Merknader

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:

WS_EX_NOACTIVATE
Et toppnivå-vindu som er opprettet med denne stilen kan ikke aktiveres. Hvis et underordnet vindu har denne stilen, får ikke overordnet figuren på øverste nivå å bli aktivert når du tapper den. Et vindu som har denne stilen, får pennen hendelser, men verken det eller dens underordnede vinduer kan få fokus.
WS_EX_NOANIMATION
Et vindu som er opprettet med denne stilen viser ikke animerte eksploderende og imploding rektangler, og har ikke en knapp på oppgavelinjen.

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.

Hurtiginformasjon

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.

Se også

Oversikt over Windows vinduet fungerer, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindow, GlobalAddAtom, RegisterClassEx, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY

Index