CreateWindow

Die CreateWindow -Funktion erstellt eine überlappende, Popup-Fenster oder ein untergeordnetes Fenster. Es gibt die Fensterklasse, Fenstertitel, Fensterstil, und (optional) die ursprüngliche Position und Größe des Fensters. Die Funktion gibt auch das Fenster übergeordneten oder Besitzer, falls vorhanden und das Fenster-Menü.

Verwenden Sie erweiterte Stile zusätzlich zu den Formatvorlagen unterstützt von CreateWindowdie CreateWindowEx -Funktion anstelle von CreateWindow.

(HWND CreateWindow LPCTSTR  LpClassName, / / Zeiger auf registrierte KlassennameLPCTSTRlpWindowName, / / Zeiger auf Fenster-NameDWORDdwStyle, / / Fensterstilint x, / / horizontale Position des Fensters int y, / / vertikale Position des Fensters intnWidth, / / Fensterbreite intnHeight, / / FensterhöheHWNDhWndParent, / / handle für Eltern oder Eigentümer FensterHMENUhMenu, / / handle auf Menü oder ChildWindow BezeichnerBehandelnhInstance, / / handle für die AnwendungsinstanzLPVOIDLpParam / / Zeiger auf Daten, Fenster-Erstellung);
 

Parameter

lpClassName
Zeiger auf eine Null-terminierte Zeichenfolge oder eine Ganzzahl-Atom ist. Wenn dieser Parameter ein Atom ist, muss es eine globale Atom, erstellt von einem vorherigen Aufruf der GlobalAddAtom Funktion. Das Atom, ein 16-Bit-Wert kleiner als 0xC000, muß im niederwertigen Wort von LpClassName; das hohe Word muss NULL sein.

Wenn LpClassName eine Zeichenfolge ist, gibt es der Fensterklassenname. Der Klassenname kann einen beliebigen Namen mit der Funktion RegisterClassEx oder die vordefinierte Steuerelement-Klasse Namen registriert sein. Eine vollständige Liste finden Sie unter im Abschnitt Hinweise.

lpWindowName
Zeiger auf eine auf Null endende Zeichenfolge, die angibt, der Name des Fensters.

Wenn der Fensterstil eine Titelleiste angibt, wird der Fenstertitel mit LpWindowName verwiesen in der Titelleiste angezeigt. Wenn CreateWindow erstellen Sie Steuerelemente, z. B. Schaltflächen, Kontrollkästchen und statischen Steuerelemente verwenden Sie LpWindowName um den Text des Steuerelements anzugeben.

dwStyle
Gibt den Stil des Fensters erstellt wird. Dieser Parameter kann eine Kombination der folgenden Fensterstile und Steuerelementstilen angegeben im Abschnitt Hinweise.
Stil Bedeutung
WS_BORDER Erstellt ein Fenster, das hat eine dünne Rahmenlinie.
WS_CAPTION Erstellt ein Fenster, das eine Titelleiste hat (beinhaltet die Formatvorlage WS_BORDER).
WS_CHILD Erstellt ein untergeordnetes Fenster. Dieser Stil kann nicht mit dem WS_POPUP Stil verwendet werden.
WS_CHILDWINDOW Dasselbe wie das Format WS_CHILD.
WS_CLIPCHILDREN Schließt den Bereich von untergeordneten Fenstern belegt, tritt Zeichnung innerhalb des übergeordneten Fensters. Dieser Stil wird verwendet, wenn das übergeordnete Fenster erstellen.
WS_CLIPSIBLINGS Clips untergeordnete Fenster relativ zueinander; Das heißt, wenn ein bestimmtes untergeordnetes Fenster erhält eine WM_PAINT -Meldung, clips der WS_CLIPSIBLINGS-Stil alle anderen überlappenden untergeordnete Fenster aus der Region des untergeordneten Fensters aktualisiert werden. Wenn WS_CLIPSIBLINGS nicht angegeben ist und untergeordnete Fenster überlappen, ist es möglich, wenn im Clientbereich eines untergeordneten Fensters, um im Clientbereich eines benachbarten untergeordneten Fensters zeichnen Zeichnung.
WS_DISABLED Erstellt ein Fenster, das anfänglich deaktiviert ist. Eine deaktivierte Fenster kann nicht vom Benutzer Eingaben erhalten.
WS_DLGFRAME Erstellt ein Fenster, das einen Rahmen von einem Stil in der Regel mit Dialogfeldern verwendet hat. Ein Fenster mit diesem Stil keine Titelleiste.
WS_GROUP Gibt das erste Steuerelement eine Gruppe von Steuerelementen. Die Gruppe besteht aus dieser ersten Steuerelement und Steuerelemente definiert nach, bis das nächste Steuerelement mit dem WS_GROUP Stil. Das erste Steuerelement in jeder Gruppe hat in der Regel den WS_TABSTOP Stil, so dass der Benutzer von Gruppe zu Gruppe wechseln kann. Der Benutzer kann anschließend den Tastaturfokus von einem Steuerelement in der Gruppe auf das nächste Steuerelement in der Gruppe ändern mithilfe der Richtungstasten.
WS_HSCROLL Erstellt ein Fenster mit eine horizontalen Bildlaufleiste.
WS_ICONIC Erstellt ein Fenster, das anfänglich minimiert ist. Identisch mit dem WS_MINIMIZE-Stil.
WS_MAXIMIZE Erstellt ein Fenster, das anfänglich maximiert angezeigt wird.
WS_MAXIMIZEBOX Erstellt ein Fenster, das eine Schaltfläche zum Maximieren verfügt. Kann nicht mit dem WS_EX_CONTEXTHELP-Stil kombiniert werden. WS_SYSMENU Stil muss ebenfalls angegeben werden.
WS_MINIMIZE Erstellt ein Fenster, das anfänglich minimiert ist. Identisch mit den WS_ICONIC-Stil.
WS_MINIMIZEBOX Erstellt ein Fenster, das eine Minimieren-Schaltfläche verfügt. Kann nicht mit dem WS_EX_CONTEXTHELP-Stil kombiniert werden. WS_SYSMENU Stil muss ebenfalls angegeben werden.
WS_OVERLAPPED Erstellt eine überlappende Fenster. Eine überlappende Fenster eine Titelleiste verfügt und eine Grenze. Identisch mit den WS_TILED-Stil.
WS_OVERLAPPEDWINDOW Erstellt eine überlappende Fenster mit der WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX und WS_MAXIMIZEBOX Stile. Identisch mit den WS_TILEDWINDOW-Stil.
WS_POPUP Erstellt ein Popup-Fenster. Dieser Stil kann nicht mit dem WS_CHILD-Stil verwendet werden.
WS_POPUPWINDOW Erstellt ein Popup-Fenster mit WS_BORDER, WS_POPUP und WS_SYSMENU Stile. WS_CAPTION und WS_POPUPWINDOW Stile müssen kombiniert werden, um im Fenstermenü sichtbar zu machen.
WS_SIZEBOX Erstellt ein Fenster, das einen Größenanpassungsrahmens hat. Dasselbe wie die WS_THICKFRAME-Stil.
WS_SYSMENU Erstellt ein Fenster, das Menü-Fenster auf die Titelleiste klickten. Der Stil WS_CAPTION muss ebenfalls angegeben werden.
WS_TABSTOP Gibt ein Steuerelement, das den Tastaturfokus erhalten kann, wenn der Benutzer die Tab-Taste drückt. Die Tab-Taste ändert sich den Tastaturfokus auf das nächste Steuerelement mit WS_TABSTOP Stil.
WS_THICKFRAME Erstellt ein Fenster, das einen Größenanpassungsrahmens hat. Gleich wie bei der WS_SIZEBOX.
WS_TILED Erstellt eine überlappende Fenster. Eine überlappende Fenster eine Titelleiste verfügt und eine Grenze. Identisch mit der WS_OVERLAPPED-Formatvorlage.
WS_TILEDWINDOW Erstellt eine überlappende Fenster mit der WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX und WS_MAXIMIZEBOX Stile. Gleich wie bei der WS_OVERLAPPEDWINDOW.
WS_VISIBLE Erstellt ein Fenster, das anfänglich sichtbar ist.
WS_VSCROLL Erstellt ein Fenster, das eine vertikale Bildlaufleiste hat.

x
Gibt die horizontale Anfangsposition des Fensters. Für eine überlappende oder Popup-Fenster ist der X -Parameter die erste X-Koordinate der oberen linken Ecke des Fensters, in Bildschirmkoordinaten. Für ein untergeordnetes Fenster ist x die X-Koordinate von der oberen linken Ecke des Fensters in Bezug auf der oberen linken Ecke des Clientbereichs des übergeordneten Fensters.

Wenn dieser Parameter auf CW_USEDEFAULT festgelegt ist, wird das System selektiert die Standardposition für die obere linke Ecke des Fensters und den y -Parameter ignoriert. CW_USEDEFAULT ist gültig nur für überlappende Fenster; Wenn es für angegeben ist, sind ein Popup-Fenster oder ein untergeordnetes Fenster, die x- und y -Parameter auf NULL gesetzt.

y
Gibt die anfängliche vertikale Position des Fensters. Für eine überlappende oder Popup-Fenster ist der y -Parameter die erste y-Koordinate der oberen linken Ecke des Fensters, in Bildschirmkoordinaten. Für ein untergeordnetes Fenster ist y die erste y-Koordinate der oberen linken Ecke des untergeordneten Fensters in Bezug auf der oberen linken Ecke des Clientbereichs des übergeordneten Fensters. Für ein Listenfeld ist y die erste y-Koordinate der oberen linken Ecke des Clientbereichs im Listenfeld relativ zu der oberen linken Ecke des Clientbereichs des übergeordneten Fensters.

Wenn eine überlappende Fenster mit festgelegtem Bit Style WS_VISIBLE erstellt wird und der X -Parameter auf CW_USEDEFAULT festgelegt ist, ignoriert das System den y -parameter.

nWidth
Gibt die Breite in Geräteeinheiten des Fensters. NWidth in überlappenden Windows entweder die Breite des Fensters, in Bildschirmkoordinaten oder CW_USEDEFAULT ist. Wenn nWidth CW_USEDEFAULT ist, wählt das System eine Standardbreite und Höhe des Fensters; die Standardbreite erstreckt sich von der ersten X-Koordinate an den rechten Rand des Bildschirms, und die Standardhöhe erstreckt sich von der ersten y-Koordinate an die Spitze der Bereich Symbol. CW_USEDEFAULT ist gültig nur für überlappende Fenster; Wenn für ein Popup-Fenster oder ein untergeordnetes Fenster CW_USEDEFAULT angegeben ist, werden nWidth und nHeight auf NULL gesetzt.
nHeight
Gibt die Höhe in Geräteeinheiten des Fensters. Für überlappende Fenster ist nHeight die Höhe des Fensters, in Bildschirmkoordinaten. Wenn nWidth CW_USEDEFAULT festgelegt ist, ignoriert das System nHeight.
hWndParent
Handle für das übergeordnete oder Eigentümer Fenster des Fensters erstellt wird. Um ein untergeordnetes Fenster oder ein Besitzfenster erstellen, geben Sie ein gültiges Fensterhandle. Dieser Parameter ist optional für Popup-Fenster.

Windows NT 5.0 und höher: Um eine nur-Nachrichten-Fenster zu erstellen, geben Sie HWND_MESSAGE oder ein Handle zu einem vorhandenen nur-Nachrichten-Fenster.

hMenu
Handle für ein Menü, oder gibt einen ChildWindow Bezeichner abhängig von den Fensterstil. Für eine überlappende oder Pop-up Fenster identifiziert hMenu das Menü für das Fenster verwendet werden; Es kann NULL sein, wenn das Klasse im Menü verwendet werden. Für ein untergeordnetes Fenster gibt hMenu die ChildWindow ID, einen Integer-Wert von einem Dialogfeld-Steuerelement verwendet, um die übergeordneten über Ereignisse zu benachrichtigen. Die Anwendung ermittelt die ChildWindow ID; Es muss für alle untergeordneten Fenster mit dem gleichen übergeordneten Fenster eindeutig sein.
hInstance
Behandeln Sie, um die Instanz des Moduls im Fenster zugeordnet werden.
lpParam
Ein Zeiger auf einen Wert an das Fenster über die CREATESTRUCT -Struktur übergeben werden übergeben in den lParam -Parameter die WM_CREATE -Nachricht. Wenn eine Anwendung fordert CreateWindow-Funktion ein mehrere Dokument Interface (MDI) Client-Fenster erstellen, muss LpParam auf eine CLIENTCREATESTRUCT -Struktur zeigen.

Rückgabewerte

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für das neue Fenster.

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Rufen Sie Fehlerinformationen verlängert bekommen, GetLastError.

Bemerkungen

Vor der Rückkehr, sendet CreateWindow eine WM_CREATE -Nachricht an die Fensterprozedur. Für Pop-up, und untergeordnete Fenster, überlappend sendet CreateWindow WM_CREATE, WM_GETMINMAXINFOund WM_NCCREATE Meldungen an das Fenster. Der Parameter lParam der Nachricht WM_CREATE enthält einen Zeiger auf eine CREATESTRUCT -Struktur. Wenn der Style WS_VISIBLE angegeben wird, sendet CreateWindow Fenster alle Nachrichten zu aktivieren und Anzeigen des Fensters erforderlich.

Informationen zu steuern, ob die Taskleiste eine Schaltfläche für das erstellte Fenster zeigt, finden Sie unter Sichtbarkeit von Taskleistenschaltflächen.

Die folgenden vordefinierten Steuerelementklassen können im Parameter LpClassName angegeben werden. Beachten Sie, dass Sie das entsprechende Steuerelement Stile kann in den DwStyle -Parameter verwenden.

Klasse Bedeutung
SCHALTFLÄCHE Kennzeichnet ein kleine rechteckige untergeordnetes Fenster, das eine Schaltfläche, die der Benutzer klicken kann darstellt, um es ein-/auszuschalten. Button-Steuerelemente können verwendet werden, alleine oder in Gruppen, und sie können entweder beschriftet werden oder werden ohne Text angezeigt. Button-Steuerelemente in der Regel ändern Darstellung sie klickt der Benutzer. Weitere Informationen finden Sie unter Schaltflächen.
Eine Tabelle mit der Button-Stile, die Sie in dem DwStyle -Parameter angeben können, finden Sie unter Button-Stile.
COMBOBOX Bezeichnet ein Steuerelement aus einem Listenfeld und einem Auswahlfeld ein Edit-Steuerelement ähnlich. Wenn Sie dieses Format verwenden, sollte eine Anwendung entweder anzeigen im Listenfeld zu allen Zeiten oder aktivieren Sie ein Dropdown-Listenfeld. Wenn im Listenfeld angezeigt wird, unterstreicht die Eingabe von Zeichen in dem Auswahlfeld den ersten Eintrag im Feld, der die eingegebene Zeichen entspricht. Auswählen eines Elements im Listenfeld zeigt umgekehrt, den markierten Text im Auswahlfeld. Weitere Informationen finden Sie unter Kombinationsfelder.
Eine Tabelle mit den Kombi-Formatvorlagen, die Sie in dem DwStyle -Parameter angeben können, finden Sie unter Combo Box Styles.
BEARBEITEN Kennzeichnet ein rechteckiges untergeordnetes Fenster in dem der Benutzer Text über die Tastatur eingeben kann. Der Benutzer wählt das Steuerelement und gibt es den Tastaturfokus durch anklicken oder durch Drücken der Tab-Taste zu verschieben. Der Benutzer kann Text eingeben, wenn das Edit-Steuerelement ein blinkendes Caret-Zeichen zeigt; Verwenden Sie die Maus auf den Cursor, wählen Sie Zeichen, die ersetzt werden, oder positionieren Sie den Cursor zum Einfügen von Zeichen; oder die [RÜCKTASTE] verwenden, um Zeichen zu löschen. Weitere Informationen finden Sie unter Steuerelemente bearbeiten.
Eine Tabelle der bearbeiten-Steuerelement Formatvorlagen, die Sie in dem DwStyle -Parameter angeben können, finden Sie unter Steuerelementstile bearbeiten.
LISTBOX Bezeichnet eine Liste von Zeichenfolgen. Geben Sie dieses Steuerelement, wenn eine Anwendung eine Liste mit Namen, wie z. B. Dateinamen, vorlegen muss, aus denen der Benutzer auswählen kann. Der Benutzer kann eine Zeichenfolge auswählen, indem Sie darauf klicken. Eine ausgewählte Zeichenfolge wird hervorgehoben, und eine Benachrichtigung wird an das übergeordnete Fenster übergeben. Weitere Informationen finden Sie unter Listenfelder.
Eine Tabelle mit der Listenformatvorlagen, die Sie in dem DwStyle -Parameter angeben können, finden Sie in der Listenformatvorlagen.
MDICLIENT Kennzeichnet ein MDI-Clientfenster. Dieses Fenster erhält Nachrichten, die der MDI-Anwendung untergeordnete Fenster zu kontrollieren. Die empfohlene Formatbits sind WS_CLIPCHILDREN und WS_CHILD. Geben Sie das WS_HSCROLL und WS_VSCROLL Stile ein MDI-Clientfenster zu erstellen, die dem Benutzer ermöglicht, untergeordnete MDI-Fenster in die Ansicht einen Bildlauf durchführen. Weitere Informationen finden Sie unter Multiple Document Interface.
RichEdit Bezeichnet eine Version 1.0 Rich Edit-Steuerelement. In diesem Fenster können die Benutzeransicht und Bearbeiten von Text mit Zeichen- und Absatzformatierung eingebetteter COM-Objekte enthalten können. Weitere Informationen finden Sie unter Rich Edit Controls.
Eine Tabelle der rich-Edit-Steuerelement Formatvorlagen, die Sie in dem DwStyle -Parameter angeben können, finden Sie unter Rich Edit Steuerelement Formatvorlagen.
RICHEDIT_CLASS Bezeichnet ein Rich Edit-Version 2.0-Steuerelement. Diese Steuerelemente lassen sehen und Bearbeiten von Text mit Zeichen- und Absatzformatierung eingebetteter COM-Objekte enthalten können. Weitere Informationen finden Sie unter Rich Edit Controls.
Eine Tabelle der rich-Edit-Steuerelement Formatvorlagen, die Sie in dem DwStyle -Parameter angeben können, finden Sie unter Rich Edit Steuerelement Formatvorlagen.
SCROLLBAR Bestimmt ein Rechteck, das enthält ein Bildlauffeld und Richtungspfeile an beiden Enden hat. Die Bildlaufleiste sendet eine Benachrichtigung an sein übergeordnetes Fenster, wenn der Benutzer das Steuerelement klickt. Das übergeordnete Fenster ist verantwortlich für die Aktualisierung der Position des Bildlauffelds, falls erforderlich. Weitere Informationen finden Sie unter Bildlaufleisten.
Eine Tabelle der Scroll Bar Steuerelementstilen, die in dem DwStyle -Parameter angegeben werden können, finden Sie unter Steuerelementstile Scroll Bar.
STATISCH Kennzeichnet eine einfache Text-Feld, Feld oder Rectangle verwendet, um kennzeichnen, box oder andere Steuerelemente zu trennen. Statische Steuerelemente keine Eingabe und keine Ausgabe. Weitere Informationen finden Sie unter Statische Steuerelemente.
Eine Tabelle der statischen Steuerelementstilen, die in dem DwStyle -Parameter angegeben werden können, finden Sie unter Static Control Styles.

Windows 95:Das System unterstützt maximal 16.364 Fenstergriffe.

Hinweis&Nbsp; Wenn Sie Windows Version 4.x angeben, wenn Ihre Anwendung verknüpfen, nicht seine Fenster Schaltflächen mit Beschriftung, es sei denn, sie auch Menüs haben. Dies ist nicht erforderlich, wenn Sie Windows Version 3.x angeben, wenn Ihre Anwendung verknüpfen.

Windows CE: CreateWindow-Funktion ist als Makro implementiert. Es ist definiert als CreateWindowEx, sondern mit der DwExStyle Parameter auf 0 L.

Menüleisten werden nicht unterstützt. Der hMenu -Parameter muss NULL sein, es sei denn, es als ein ChildWindow Bezeichner verwendet wird.

Die MDICLIENT-Fenster-Klasse wird nicht unterstützt.

Der DwStyle -Parameter kann eine Kombination aus dem Fensterstile und Steuerelementstilen dokumentiert in:

Dialogfelder

Windows

Steuerelemente

Die folgenden DwStyle -Flags sind für Windows nicht unterstützt.:

WS_CHILDWINDOW WS_ICONIC
WS_MAXIMIZE WS_MAXIMIZEBOX
WS_MINIMIZE WS_MINIMIZEBOX
WS_OVERLAPPEDWINDOW WS_POPUPWINDOW
WS_SIZEBOX WS_THICKFRAME
WS_TILED WS_TILEDWINDOW

Die folgenden DwStyle -Flags sind für Steuerelemente und Dialogfelder nicht unterstützt.:

Nicht unterstützte Button-Stile Nicht unterstützte statische Steuerelementstile
BS_LEFTTEXT SS_BLACKFRAME
BS_MULTILINE SS_GRAYFRAME
BS_TEXT SS_METAPICT
BS_USERBUTTON SS_SIMPLE
Nicht unterstützte Kombinationsfeld Feld Formatvorlagen SS_WHITERECT
CBS_OWNERDRAWFIXED SS_BLACKRECT
CBS_OWNERDRAWVARIABLE SS_GRAYRECT
CBS_SIMPLE SS_RIGHTIMAGE
Nicht unterstützte Liste Steuerelement Formatvorlagen SS_WHITEFRAME
LBS_NODATA Nicht unterstützte Dialogfeld Knotenarten
LBS_OWNERDRAWFIXED DS_ABSALIGN
LBS_OWNERDRAWVARIABLE DS_CENTERMOUSE
LBS_STANDARD DS_CONTEXTHELP
Nicht unterstützte Scroll Balkenarten DS_FIXEDSYS
SBS_BOTTOMALIGN DS_NOFAILCREATE
SBS_RIGHTALIGN DS_NOIDLEMSG
SBS_SIZEBOXBOTTOMRIGHTALIGN DS_SYSMODAL
SBS_SIZEGRIP

BS_OWNERDRAW Stil können Sie als Ersatz für den BS_USERBUTTON-Stil.

Den SS_LEFT oder SS_LEFTNOWORDWRAP Stil können statt des SS_SIMPLE Stils für statische Steuerelemente Sie..

Die MDICLIENT-Fenster-Klasse wird nicht unterstützt.

Alle Fenster haben implizit die Stile WS_CLIPSIBLINGS und WS_CLIPCHILDREN.

Besitzfenster, mit Ausnahme für Dialogfelder unterstützt Windows CE 1.0 nicht. Wenn der HwndParent -Parameter nicht NULL ist, wird das Fenster implizit das Format WS_CHILD gegeben.

Windows CE Version 1.0 unterstützt keine Menüleisten.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:In winuser.h deklarierten.
Importieren Bibliothek:Verwenden Sie user32.lib.
Unicode:Als Unicode und ANSI-Versionen unter Windows NT implementiert.

Siehe auch

Übersicht über Windows Fenster Funktionen, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT

Index