CreateWindow

De CreateWindow -functie maakt een venster overlappende, pop-up of kind. Het geeft de klasse venster, venstertitel, venster stijl, en (optioneel) de aanvankelijke positie en grootte van het venster. De functie geeft ook van het venster bovenliggende of eigenaar, indien van toepassing, en van het venster menu.

Uitgebreide stijlen naast de stijlen ondersteund door CreateWindowgebruikt, gebruiken de CreateWindowEx functie in plaats van CreateWindow.

(HWND CreateWindow LPCTSTR  lpClassName, / / verwijzing naar klassenaam geregistreerdLPCTSTRlpWindowName, / / pointer naar het vensternaamDWORDdwStyle, / / venster stijlint x, / / horizontale positie van venster int y, / / verticale positie van venster intnWidth, / / vensterbreedte intnHeight, / / vensterhoogteHWNDhWndParent, / / verwerken naar bovenliggende of eigenaar vensterHMENUhMenu, / / verwerken aan menu of subvenster idVerwerkenhInstance, / / ingang naar toepassingsexemplaarLPVOIDlpParam / / pointer naar de gegevens voor het venster aanmaken);
 

Parameters

lpClassName
Pointer naar een op null eindigende tekenreeks of een integer atoom. Als deze parameter een atoom is, het moet een globale atoom gemaakt door een eerdere aanroep van het GlobalAddAtom functie. Het Atoom, een 16-bits waarde lager is dan 0xC000, moet worden in de lage-orde woord van lpClassName; de eersterangs woord moet nul zijn.

Als lpClassName een tekenreeks is, geeft het naam van de klasse van het venster. Naam van de klasse kan een willekeurige naam geregistreerd met de functie RegisterClassEx of een van de vooraf gedefinieerde controle-klasse namen worden. Zie de sectie opmerkingen voor een complete lijst,.

lpWindowName
Pointer naar een op null eindigende tekenreeks waarmee de naam van het venster.

Als het venster opmaakprofiel een titelbalk bepaalt, wordt de titel van het venster waarnaar wordt verwezen door lpWindowName weergegeven in de titelbalk. Wanneer u CreateWindow maken van besturingselementen, zoals knoppen, selectievakjes en statische besturingselementen, gebruiken lpWindowName de tekst van het besturingselement opgeven.

dwStyle
Geeft de stijl van het venster wordt gemaakt. Deze parameter kan bestaan uit een combinatie van de volgende venster stijlen, plus de controle stijlen aangegeven in de sectie opmerkingen.
Stijl Betekenis
WS_BORDER Hiermee maakt u een venster met een dun-lijn-rand.
WS_CAPTION Hiermee maakt u een venster dat een titelbalk heeft (inclusief de WS_BORDER-stijl).
WS_CHILD Hiermee maakt u een onderliggend venster. Deze stijl kan niet worden gebruikt met de stijl WS_POPUP.
WS_CHILDWINDOW Hetzelfde als de WS_CHILD stijl.
WS_CLIPCHILDREN Sluit de ruimte bezet door kind windows als tekening binnen het bovenliggende venster optreedt. Deze stijl wordt gebruikt bij het maken van het bovenliggende venster.
WS_CLIPSIBLINGS Clips kind windows relatief ten opzichte van elkaar; dat wil zeggen, wanneer een bepaald onderliggend venster ontvangt een WM_PAINT -bericht, de WS_CLIPSIBLINGS stijl clips alle andere overlappende vensters kind uit de regio van het onderliggende venster worden bijgewerkt. Als WS_CLIPSIBLINGS niet is opgegeven en onderliggende vensters overlappen, is het mogelijk, bij het tekenen in het clientgebied van een onderliggend venster, om te tekenen in het clientgebied van een naburige onderliggend venster.
WS_DISABLED Hiermee maakt u een venster dat is in eerste instantie uitgeschakeld. Een handicap venster ontvangen geen input van de gebruiker.
WS_DLGFRAME Hiermee maakt u een venster met een rand van een stijl die meestal gebruikt met dialoogvensters. Een venster met deze stijl kan niet hebben een titelbalk.
WS_GROUP Hiermee geeft u het eerste besturingselement van een groep besturingselementen. De groep bestaat uit deze eerste besturingselement en alle besturingselementen gedefinieerd na, tot aan het volgende besturingselement met de WS_GROUP stijl. Meestal heeft het eerste besturingselement in elke groep de WS_TABSTOP stijl zodat de gebruiker van groep naar groep verplaatsen kan. De gebruiker kan vervolgens wijzigen de toetsenbordfocus van het ene besturingselement in de groep naar het volgende besturingselement in de groep met behulp van de pijltjestoetsen.
WS_HSCROLL Hiermee maakt u een venster met een horizontale schuifbalk.
WS_ICONIC Hiermee maakt u een venster dat in eerste instantie is geminimaliseerd. Hetzelfde als de WS_MINIMIZE stijl.
WS_MAXIMIZE Hiermee maakt u een venster dat in eerste instantie is gemaximaliseerd.
WS_MAXIMIZEBOX Hiermee maakt u een venster waarin de knop maximaliseren. Kan niet worden gecombineerd met de WS_EX_CONTEXTHELP stijl. De stijl WS_SYSMENU moet ook worden opgegeven.
WS_MINIMIZE Hiermee maakt u een venster dat in eerste instantie is geminimaliseerd. Hetzelfde als de WS_ICONIC stijl.
WS_MINIMIZEBOX Hiermee maakt u een venster waarin de knop minimaliseren. Kan niet worden gecombineerd met de WS_EX_CONTEXTHELP stijl. De stijl WS_SYSMENU moet ook worden opgegeven.
WS_OVERLAPPED Hiermee maakt u een overlappende venster. Een overlappende venster heeft een titelbalk en een rand. Hetzelfde als de WS_TILED stijl.
WS_OVERLAPPEDWINDOW Hiermee maakt u een overlappende venster met de stijlen van WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX en WS_MAXIMIZEBOX. Hetzelfde als de WS_TILEDWINDOW stijl.
WS_POPUP Hiermee maakt u een pop-upvenster. Deze stijl kan niet worden gebruikt met de stijl WS_CHILD.
WS_POPUPWINDOW Hiermee maakt u een pop-upvenster met WS_BORDER, WS_POPUP en WS_SYSMENU stijlen. De WS_CAPTION en WS_POPUPWINDOW stijlen moeten worden gecombineerd om zichtbaar te maken het venstermenu.
WS_SIZEBOX Wordt een venster met een grootte rand gemaakt. Hetzelfde als de WS_THICKFRAME stijl.
WS_SYSMENU Hiermee maakt u een venster met een menu-venster op de titelbalk. De stijl van de WS_CAPTION moet ook worden opgegeven.
WS_TABSTOP Hiermee geeft u een besturingselement dat de focus van het toetsenbord ontvangen kunt wanneer de gebruiker op de tab-toets drukt. Op de tab-toets te drukken wijzigt de toetsenbordfocus naar het volgende besturingselement met de WS_TABSTOP stijl.
WS_THICKFRAME Wordt een venster met een grootte rand gemaakt. Hetzelfde als de WS_SIZEBOX stijl.
WS_TILED Hiermee maakt u een overlappende venster. Een overlappende venster heeft een titelbalk en een rand. Hetzelfde als de WS_OVERLAPPED stijl.
WS_TILEDWINDOW Hiermee maakt u een overlappende venster met de stijlen van WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX en WS_MAXIMIZEBOX. Hetzelfde als de WS_OVERLAPPEDWINDOW stijl.
WS_VISIBLE Hiermee maakt u een venster dat in eerste instantie zichtbaar is.
WS_VSCROLL Hiermee maakt u een venster met een verticale schuifbalk.

x
Hiermee geeft u de eerste horizontale positie van het venster. Voor een overlappende of pop-up venster is de parameter x de eerste x-coördinaat van het venster de upper-left hoek, in de schermcoördinaten. Voor een onderliggend venster is x de x-coördinaat van de linkerbovenhoek van het venster relatief ten opzichte van de linkerbovenhoek van het clientgebied van het bovenliggende venster.

Als deze parameter is ingesteld op CW_USEDEFAULT, het systeem selecteert de standaardpositie voor de linkerbovenhoek van het venster en gaat voorbij aan de parameter y . CW_USEDEFAULT is alleen geldig voor overlappende vensters; Als dit is opgegeven voor zijn een pop-up of kind venster, de x - en y -parameters ingesteld op nul.

y
Hiermee geeft u de eerste verticale positie van het venster. Voor een overlappende of pop-up venster is de parameter y de eerste y-coördinaat van het venster de upper-left hoek, in de schermcoördinaten. Voor een onderliggend venster is y de eerste y-coördinaat van de upper-left hoek van het onderliggende venster relatief ten opzichte van de linkerbovenhoek van het clientgebied van het bovenliggende venster. Voor een keuzelijst is y de eerste y-coördinaat van de linkerbovenhoek van de keuzelijst in clientgebied relatief ten opzichte van de linkerbovenhoek van het clientgebied van het bovenliggende venster.

Als een overlappende venster is gemaakt met de WS_VISIBLE stijl bit is ingesteld en de x -parameter is ingesteld op CW_USEDEFAULT, negeert het systeem de parameter y.

nWidth
De breedte, in eenheden van apparaat van het venster. NWidth is voor overlappende windows, ofwel van het venster breedte, in schermcoördinaten, of CW_USEDEFAULT. Als nWidth CW_USEDEFAULT is, selecteert het systeem een standaardbreedte en hoogte van het venster; de standaardbreedte strekt zich uit van de eerste x-coördinaat naar de rechterkant van het scherm, en de standaardhoogte naar de top van het pictogram gebied strekt zich uit van de aanvankelijke y-coördinaat. CW_USEDEFAULT is alleen geldig voor overlappende vensters; Als CW_USEDEFAULT is opgegeven voor een venster pop-up of kind, zijn nWidth en nHeight ingesteld op nul.
nHeight
Hiermee geeft u de hoogte, in eenheden van apparaat van het venster. Voor overlappende windows is nHeight de hoogte van het venster, in de schermcoördinaten. Als nWidth is ingesteld op CW_USEDEFAULT, negeert het systeem nHeight.
hWndParent
Ingang naar het venster van het bovenliggende of eigenaar van het venster wordt gemaakt. Als u een onderliggend venster of een eigendom venster, leveren een geldige vensteringang. Deze parameter is optioneel voor pop-upvensters.

Windows NT 5.0 en hoger: Een alleen-bericht venster maken, leveren HWND_MESSAGE of een ingang voor een bestaande alleen-bericht venster.

hMenu
Ingang naar een menu, of Hiermee geeft u de id van een kind-venster afhankelijk van de stijl van het venster. Voor een overlappende of pop-up venster identificeert hMenu het menu om te worden gebruikt met het venster; het kan worden NULL als het menu klasse wordt gebruikt. Voor een onderliggend venster geeft hMenu de kind-venster identificatie, een integer-waarde gebruikt door een besturingselement voor een dialoogvenster in kennis te stellen van de bovenliggende over gebeurtenissen. De toepassing bepaalt het subvenster identifier; Deze moet uniek zijn voor alle onderliggende vensters met hetzelfde bovenliggende venster.
hInstance
Ingang naar instantie van de module te worden gekoppeld aan het venster.
lpParam
Een aanwijzer naar een waarde die moet worden doorgegeven aan het venster door de CREATESTRUCT structuur doorgegeven in de parameter lParam het WM_CREATE bericht. Als een toepassing oproepen CreateWindow maken een meerdere documentvenster interface (MDI) client, moet lpParam verwijzen naar een structuur van CLIENTCREATESTRUCT.

Retourwaarden

Als de functie slaagt, is de retourwaarde een ingang voor het nieuwe venster.

Als de functie mislukt, is de retourwaarde NULL. Te krijgen uitgebreide foutinformatie, Bel GetLastError.

Opmerkingen

Alvorens terug te keren, stuurt CreateWindow een WM_CREATE -bericht naar de venster procedure. Voor overlapt, pop-up en kind windows, verzendt CreateWindow WM_CREATE, WM_GETMINMAXINFOen WM_NCCREATE naar de venster. De parameter lParam van het WM_CREATE bericht bevat een aanwijzer naar een CREATESTRUCT structuur. Als de stijl WS_VISIBLE is opgegeven, stuurt CreateWindow het venster alle berichten nodig om te activeren en het venster weergeven.

Zie voor informatie over het controleren of de taakbalk een knop voor de gemaakte venster worden weergegeven, Zichtbaarheid van taakbalkknoppen.

De volgende vooraf gedefinieerde controle klassen kunnen worden opgegeven in de parameter lpClassName . Opmerking dat het bijbehorende besturingselement stijlen u kunt gebruiken in de parameter dwStyle.

Klasse Betekenis
KNOP Hiermee geeft u een klein rechthoekig kind venster die vertegenwoordigt een knop die de gebruiker klikken kan om het te zetten in- of uitschakelen. Knop besturingselementen kunnen worden gebruikt, alleen of in groepen, en ze kunnen ofwel worden gelabeld of weergegeven zonder tekst. Knop controles meestal wijzigen uiterlijk wanneer de gebruiker op hen. Voor meer informatie, Zie knoppen.
Zie voor een tabel met de knopstijlen die u in de parameter dwStyle opgeven kunt , Knopstijlen.
COMBOBOX Een besturingselement dat bestaat uit een keuzelijst en een selectieveld vergelijkbaar met een edit-besturingselement aanwijst. Wanneer u deze stijl, moet een toepassing altijd de keuzelijst weergeven of een drop-down lijst inschakelen. Als de keuzelijst weergegeven wordt, hoogtepunten tekens typen in het selectieveld de eerste lijst vak invoer die overeenkomt met de tekens hebt getypt. Omgekeerd, een item te selecteren in de keuzelijst de geselecteerde tekst wordt weergegeven in het selectieveld. Zie voor meer informatie, Keuzelijsten met invoervakken.
Zie voor een tabel met stijlen voor de keuzelijst met invoervak die u in de parameter dwStyle opgeven kunt , Combo Vakstijlen.
BEWERKEN Hiermee geeft u een kind rechthoekig venster waarin de gebruiker tekst van het toetsenbord kunt typen. De gebruiker selecteert het besturingselement en geeft het de toetsenbordfocus door erop te klikken of door op de tab-toets te drukken om het te verplaatsen. De gebruiker kan tekst typen wanneer het besturingselement bewerken een knipperende caret weergegeven; de muis gebruiken om de cursor, Selecteer tekens worden vervangen, of plaatst u de cursor voor het invoegen van tekens; of gebruik de toets backspace om tekens te verwijderen. Voor meer informatie, Zie Besturingselementen bewerken.
Zie voor een tabel controle stijlen bewerken die u in de parameter dwStyle opgeven kunt , Controle stijlen bewerken.
LISTBOX Hiermee geeft u een lijst met tekenreeksen. Dit besturingselement opgeven wanneer een toepassing een lijst van namen, zoals bestandsnamen presenteren moet, waaruit de gebruiker kan kiezen. De gebruiker kan een tekenreeks selecteren door erop te klikken. Een geselecteerde tekenreeks is gemarkeerd, en een melding wordt doorgegeven aan het bovenliggende venster. Zie voor meer informatie, Keuzelijsten.
Zie voor een tabel met de lijst Vakstijlen die u in de parameter dwStyle opgeven kunt , Lijst Vakstijlen.
MDICLIENT Hiermee geeft u een MDI-clientvenster. Dit venster ontvangt berichten die van de MDI-toepassing kind windows bepalen. De aanbevolen stijl bits zijn WS_CLIPCHILDREN en WS_CHILD. Geef de WS_HSCROLL en WS_VSCROLL stijlen maken een MDI-clientvenster waarmee de gebruiker MDI kind windows in beeld schuiven. Zie voor meer informatie, Multiple Document Interface.
RichEdit Hiermee geeft u een besturingselement Rich Edit versie 1.0. Dit venster laat de gebruiker weergave en bewerken van tekst met teken- en alinea-opmaak en ingesloten COM-objecten kan bevatten. Voor meer informatie, Zie Besturingselementen van RTF bewerken.
Zie voor een tabel van de rich edit control stijlen die u in de parameter dwStyle opgeven kunt , Rich bewerken controle stijlen.
RICHEDIT_CLASS Hiermee geeft u een besturingselement Rich Edit versie 2.0. Deze besturingselementen laat de gebruiker weergave en bewerken van tekst met teken- en alinea-opmaak en ingesloten COM-objecten kunnen bevatten. Voor meer informatie, Zie Besturingselementen van RTF bewerken.
Zie voor een tabel van de rich edit control stijlen die u in de parameter dwStyle opgeven kunt , Rich bewerken controle stijlen.
SCROLLBAR Hiermee geeft u een rechthoek die een schuifblokje bevat en heeft richting pijlen aan beide uiteinden. De schuifbalk stuurt een melding naar de bovenliggende venster wanneer de gebruiker op het besturingselement klikt. Het bovenliggende venster is verantwoordelijk voor het bijwerken van de positie van het schuifblokje, indien nodig. Voor meer informatie, Zie Schuifbalken.
Zie voor een tabel met de scroll bar control stijlen die u in de parameter dwStyle opgeven kunt , Scroll Bar Control Styles.
STATIC Hiermee geeft u een eenvoudige tekstveld, vak of rechthoek gebruikt om een label, vak of andere besturingselementen scheiden. Statische besturingselementen nemen geen input en bieden geen output. Voor meer informatie, Zie Statische besturingselementen.
Zie voor een tabel met de stijlen van de statische besturingselement die u in de parameter dwStyle opgeven kunt , Statische besturingselement stijlen.

Windows 95:Het systeem kan een maximum van 16,364 venster grepen ondersteunen.

Opmerki&ngnbsp; Als u Windows versie 4.x opgeeft wanneer uw toepassing wordt gekoppeld, hebben niet haar windows bijschrift knoppen tenzij ze ook menu's hebben. Dit is niet een vereiste als u Windows versie 3.x opgeeft wanneer uw toepassing koppelen.

Windows CE: CreateWindow is geïmplementeerd als een macro. Het is gedefinieerd als CreateWindowEx, maar met de parameter dwExStyle ingesteld op 0 L.

Menubalken worden niet ondersteund. De parameter hMenu moet NULL, tenzij het is gebruikt als de id van een kind-venster.

Het MDICLIENT-venster klasse wordt niet ondersteund.

De dwStyle -parameter kan bestaan uit een combinatie van het venster stijlen en controle stijlen gedocumenteerd in:

Dialoogvensters

Windows

Besturingselementen

De volgende dwStyle vlaggen worden niet ondersteund voor 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

De volgende dwStyle vlaggen worden niet ondersteund voor besturingselementen en dialoogvensters:

Niet-ondersteunde knopstijlen Statische niet-ondersteund besturingselement stijlen
BS_LEFTTEXT SS_BLACKFRAME
BS_MULTILINE SS_GRAYFRAME
BS_TEXT SS_METAPICT
BS_USERBUTTON SS_SIMPLE
Niet-ondersteunde combo Vakstijlen SS_WHITERECT
CBS_OWNERDRAWFIXED SS_BLACKRECT
CBS_OWNERDRAWVARIABLE SS_GRAYRECT
CBS_SIMPLE SS_RIGHTIMAGE
Niet-ondersteunde lijst controle Vakstijlen SS_WHITEFRAME
LBS_NODATA Niet-ondersteunde dialoogvenster Vakstijlen
LBS_OWNERDRAWFIXED DS_ABSALIGN
LBS_OWNERDRAWVARIABLE DS_CENTERMOUSE
LBS_STANDARD DS_CONTEXTHELP
Niet-ondersteunde scroll bar styles DS_FIXEDSYS
SBS_BOTTOMALIGN DS_NOFAILCREATE
SBS_RIGHTALIGN DS_NOIDLEMSG
SBS_SIZEBOXBOTTOMRIGHTALIGN DS_SYSMODAL
SBS_SIZEGRIP

U kunt de stijl van de BS_OWNERDRAW als een substituut voor de BS_USERBUTTON stijl.

U kunt de stijl van SS_LEFT of SS_LEFTNOWORDWRAP in plaats van de SS_SIMPLE stijl voor statische besturingselementen..

Het MDICLIENT-venster klasse wordt niet ondersteund.

Alle vensters hebben impliciet de stijlen van WS_CLIPSIBLINGS en WS_CLIPCHILDREN.

Windows CE 1.0 ondersteunt geen eigendom windows, behalve voor dialoogvensters. Als de parameter hwndParent niet NULL is, wordt het venster de WS_CHILD stijl impliciet gegeven.

Windows CE versie 1.0 ondersteunt geen menubalken.

Syntaxisinfo

nbsp; Windows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Versie 1.0 of hoger vereist.
Header:Verklaard in winuser.h.
Bibliotheek importeren:User32.lib gebruiken.
Unicode:Geïmplementeerd als Unicode en ANSI-versies van Windows NT.

Zie ook

Windows-overzicht, venster functioneert, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT

Index