CreateWindow

La funzione CreateWindow crea una finestra sovrapposta, pop-up o bambino. Specifica la classe finestra, titolo della finestra, stile della finestra e (facoltativamente) la posizione iniziale e dimensioni della finestra. La funzione specifica anche il padre della finestra o proprietario, se del caso e il menu della finestra.

Per utilizzare stili estesi oltre agli stili supportati da CreateWindow, utilizzare la funzione CreateWindowEx anziché utilizzare CreateWindow.

(HWND CreateWindow LPCTSTR  lpClassName, / / puntatore a registrati il nome della classeLPCTSTRlpWindowName, / / puntatore a nome della finestraDWORDdwStyle, / / stile finestraint x, / / orizzontale posizione della finestra int y, / / verticale posizione della finestra intnWidth, / / larghezza della finestra intnHeight, / / altezza della finestraHWNDhWndParent, / / handle alla finestra padre o proprietarioHMENUhMenu, / / handle all'identificatore di menu o finestra figlioGestirehInstance, / / handle all'istanza dell'applicazioneLPVOIDlpParam / / puntatore ai dati per la creazione della finestra);
 

Parametri

lpClassName
Puntatore a una stringa con terminazione null o è un numero intero atomo. Se questo parametro è un atomo, deve essere un atomo globale creato da una precedente chiamata alla GlobalAddAtom funzione. L'atomo, un valore di 16 bit meno di 0xC000 deve essere nella parola significativi di lpClassName; la parola di ordine superiore deve essere zero.

Se lpClassName è una stringa, specifica il nome della classe della finestra. Il nome della classe può essere qualsiasi nome registrato con la funzione RegisterClassEx o qualsiasi dei nomi predefiniti di classe del controllo. Per un elenco completo, vedere la sezione Osservazioni.

lpWindowName
Puntatore a una stringa con terminazione null che specifica il nome della finestra.

Se lo stile della finestra specifica una barra del titolo, il titolo della finestra a cui puntato lpWindowName viene visualizzato nella barra del titolo. Quando si utilizza CreateWindow per creare controlli, ad esempio pulsanti, caselle di controllo e controlli statici, utilizzare lpWindowName per specificare il testo del controllo.

dwStyle
Specifica lo stile della finestra viene creato. Questo parametro può essere una combinazione dei seguenti stili di finestra, più gli stili di controllo indicato nella sezione Osservazioni.
Stile Significato
WS_BORDER Crea una finestra che ha un bordo a linea sottile.
WS_CAPTION Crea una finestra che ha una barra del titolo (include lo stile WS_BORDER).
WS_CHILD Crea una finestra figlio. Questo stile non può essere utilizzato con lo stile WS_POPUP.
WS_CHILDWINDOW Come lo stile WS_CHILD.
WS_CLIPCHILDREN Esclude l'area occupata dalle finestre figlio quando disegno si verifica all'interno della finestra padre. Questo stile viene utilizzato quando si crea la finestra padre.
WS_CLIPSIBLINGS Finestre figlio clip rispetto a altra; cioè, quando una finestra figlio particolare riceve un messaggio WM_PAINT , lo stile WS_CLIPSIBLINGS clip tutte le altre finestre sovrapposte bambino fuori della regione della finestra secondaria per essere aggiornato. Se WS_CLIPSIBLINGS non è specificato e finestre figlio si sovrappongono, è possibile, quando disegno entro l'area client di una finestra di bambino, per disegnare entro l'area client di una finestra figlia vicini.
WS_DISABLED Crea una finestra che inizialmente è disattivata. Una finestra di disabile non può ricevere l'input da parte dell'utente.
WS_DLGFRAME Crea una finestra con un bordo di uno stile tipicamente utilizzato con finestre di dialogo. Una finestra con questo stile non può avere una barra del titolo.
WS_GROUP Specifica il primo controllo di un gruppo di controlli. Il gruppo è costituito da questo primo controllo e tutti i controlli definiti dopo di esso, fino al controllo successivo con lo stile WS_GROUP. Il primo controllo in ogni gruppo ha solitamente lo stile WS_TABSTOP in modo che l'utente può muoversi da gruppo a gruppo. L'utente può successivamente cambiare stato attivo da un controllo del gruppo al controllo successivo nel gruppo utilizzando i tasti di direzione.
WS_HSCROLL Crea una finestra contenente una barra di scorrimento orizzontale.
WS_ICONIC Crea una finestra che inizialmente è ridotto al minimo. Come lo stile WS_MINIMIZE.
WS_MAXIMIZE Crea una finestra che viene inizialmente ingrandita.
WS_MAXIMIZEBOX Crea una finestra che ha un pulsante di ingrandimento. Non può essere combinato con lo stile WS_EX_CONTEXTHELP. Inoltre è necessario specificare lo stile WS_SYSMENU.
WS_MINIMIZE Crea una finestra che inizialmente è ridotto al minimo. Come lo stile WS_ICONIC.
WS_MINIMIZEBOX Crea una finestra che ha un pulsante Riduci a icona. Non può essere combinato con lo stile WS_EX_CONTEXTHELP. Inoltre è necessario specificare lo stile WS_SYSMENU.
WS_OVERLAPPED Crea una finestra sovrapposta. Una finestra sovrapposta ha una barra del titolo e un bordo. Come lo stile WS_TILED.
WS_OVERLAPPEDWINDOW Crea una finestra sovrapposta con gli stili WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX e WS_MAXIMIZEBOX. Come lo stile WS_TILEDWINDOW.
WS_POPUP Crea una finestra pop-up. Questo stile non può essere utilizzato con lo stile WS_CHILD.
WS_POPUPWINDOW Crea una finestra pop-up con stili WS_BORDER, WS_POPUP e WS_SYSMENU. Gli stili WS_CAPTION e WS_POPUPWINDOW devono essere combinati per rendere visibile il menu finestra.
WS_SIZEBOX Crea una finestra che ha un bordo di ridimensionamento. Come lo stile WS_THICKFRAME.
WS_SYSMENU Crea una finestra con un menu finestra sulla barra del titolo. Inoltre è necessario specificare lo stile WS_CAPTION.
WS_TABSTOP Specifica un controllo che può ricevere lo stato attivo di tastiera quando l'utente preme il tasto tab. Premendo il tasto tab Cambia stato attivo al controllo successivo con lo stile WS_TABSTOP.
WS_THICKFRAME Crea una finestra che ha un bordo di ridimensionamento. Come lo stile WS_SIZEBOX.
WS_TILED Crea una finestra sovrapposta. Una finestra sovrapposta ha una barra del titolo e un bordo. Come lo stile WS_OVERLAPPED.
WS_TILEDWINDOW Crea una finestra sovrapposta con gli stili WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX e WS_MAXIMIZEBOX. Come lo stile WS_OVERLAPPEDWINDOW.
WS_VISIBLE Crea una finestra che è inizialmente visibile.
WS_VSCROLL Crea una finestra contenente una barra di scorrimento verticale.

x
Specifica la posizione orizzontale iniziale della finestra. Per una finestra di pop-up o sovrapposta, il parametro x è l'iniziale coordinata x dell'angolo superiore sinistro della finestra, in coordinate dello schermo. Per una finestra di bambino, x è la coordinata x dell'angolo superiore sinistro della finestra rispetto all'angolo superiore sinistro dell'area client della finestra padre.

Se questo parametro è impostato su CW_USEDEFAULT, il sistema consente di selezionare la posizione predefinita per l'angolo superiore sinistro della finestra e ignora il parametro y . CW_USEDEFAULT è valido solo per le finestre sovrapposte; Se è specificato per un pop-up o bambino parametri finestra, gli assi x e y sono impostati a zero.

y
Specifica la posizione verticale iniziale della finestra. Per una finestra di pop-up o sovrapposta, il parametro y è l'iniziale coordinata y dell'angolo superiore sinistro della finestra, in coordinate dello schermo. Per una finestra figlio y è l'iniziale coordinata y dell'angolo superiore sinistro della finestra secondaria rispetto all'angolo superiore sinistro dell'area client della finestra padre. Per una casella di riepilogo y è l'iniziale coordinata y dell'angolo superiore sinistro dell'area client della casella di riepilogo relative all'angolo superiore sinistro dell'area client della finestra padre.

Se una finestra sovrapposta viene creata con il set di bit di stile WS_VISIBLE e il parametro x è impostato su CW_USEDEFAULT, il sistema ignora il parametro y.

nWidth
Specifica la larghezza, in unità periferica, della finestra. Per finestre sovrapposte, nWidth è la larghezza della finestra in coordinate dello schermo, o CW_USEDEFAULT. Se nWidth è CW_USEDEFAULT, il sistema consente di selezionare larghezza di predefinito e altezza per la finestra; la larghezza predefinita si estende dalla coordinata x iniziale al bordo destro dello schermo, e l'altezza predefinita si estende dalla coordinata y iniziale alla parte superiore dell'area di icona. CW_USEDEFAULT è valido solo per le finestre sovrapposte; Se CW_USEDEFAULT viene specificato per una finestra pop-up o un bambino, nWidth e nHeight sono impostati a zero.
nHeight
Specifica l'altezza, in unità periferica, della finestra. Per finestre sovrapposte, nHeight è l'altezza della finestra, in coordinate dello schermo. Se nWidth è impostato su CW_USEDEFAULT, il sistema ignora nHeight.
hWndParent
Gestire alla finestra padre o il proprietario della finestra viene creata. Per creare una finestra figlio o una finestra di proprietà, di fornire un handle di finestra valido. Questo parametro è facoltativo per finestre pop-up.

Windows NT 5.0 e versioni successive: Per creare una finestra di messaggio, fornire HWND_MESSAGE o un handle a una finestra di messaggio solo esistente.

hMenu
Gestire ad un menu oppure specifica un identificatore di finestra figlio dipende lo stile della finestra. Per una finestra di pop-up o sovrapposta, hMenu identifica il menu per essere usato con la finestra; può essere NULL se il menu della classe deve essere utilizzato. Per una finestra figlio hMenu specifica l'identificatore della finestra figlio, un valore integer utilizzato da un controllo di casella di dialogo di notifica relativo elemento padre sugli eventi. L'applicazione determina l'identificatore della finestra figlio; esso deve essere univoco per tutte le finestre figlio con la stessa finestra padre.
hInstance
Gestire all'istanza del modulo per essere associato con la finestra.
lpParam
Un puntatore a un valore da passare alla finestra attraverso la struttura CREATESTRUCT passata nel parametro lParam del messaggio WM_CREATE . Se un'applicazione chiama CreateWindow per creare una finestra di documento interfaccia (MDI) client multipli, lpParam deve puntare a una struttura CLIENTCREATESTRUCT.

Valori restituiti

Se la funzione ha esito positivo, il valore restituito è un handle per la nuova finestra.

Se la funzione ha esito negativo, il valore restituito è NULL. Per ottenere informazioni di errore estese, chiamare GetLastError.

Osservazioni

Prima di ritornare, CreateWindow Invia un messaggio WM_CREATE routine di finestra. Per cui è sovrapposto, popup e finestre figlio, CreateWindow invia messaggi WM_CREATE, WM_GETMINMAXINFOe WM_NCCREATE alla finestra. Il parametro lParam del messaggio WM_CREATE contiene un puntatore a una struttura CREATESTRUCT . Se viene specificato lo stile WS_VISIBLE, CreateWindow Invia la finestra tutti i messaggi necessari per attivare e mostrare la finestra.

Per informazioni sul controllo se la barra delle applicazioni viene visualizzato un pulsante di finestra creata, vedere Visibilità dei pulsanti della barra delle applicazioni.

Le classi di controlli predefiniti possono essere specificate nel parametro lpClassName . Nota che il controllo corrispondente stili si può utilizzare nel parametro dwStyle.

Classe Significato
PULSANTE Designa una finestra rettangolare bambina che rappresenta un pulsante, che l'utente può fare clic per trasformarlo on o off. Controlli pulsante possono essere utilizzati da solo o in gruppi, e neanche possono essere etichettati o apparire senza testo. Controlli Button in genere cambiano aspetto quando l'utente fa clic su loro. Per ulteriori informazioni, vedere tasti.
Per una tabella degli stili pulsante che è possibile specificare nel parametro dwStyle , vedere Stili dei pulsanti.
COMBOBOX Designa un controllo composto da una casella di riepilogo e un campo di selezione simile a un controllo di modifica. Quando si utilizza questo stile, un'applicazione dovrebbe visualizzare nella casella di riepilogo in ogni momento o attivare una casella di riepilogo a discesa. Se la casella di riepilogo è visibile, digitare i caratteri nel campo selezione mette in evidenza la prima voce dell'elenco casella corrispondente i caratteri digitati. Al contrario, la selezione di un elemento nella casella di riepilogo visualizza il testo selezionato nel campo di selezione. Per ulteriori informazioni, vedere Caselle combinate.
Per una tabella degli stili casella combinata che è possibile specificare nel parametro dwStyle , vedere Combo Box stili.
MODIFICA Designa una finestra rettangolare bambino in cui l'utente può digitare il testo da tastiera. L'utente seleziona il controllo e gli dà il focus della tastiera facendo clic su esso o trasferirsi premendo il tasto tab. L'utente può digitare testo quando il controllo di modifica viene visualizzato un cursore lampeggiante; USA il mouse per spostare il cursore, selezionare caratteri da sostituire o posizionare il cursore per l'inserimento di caratteri; oppure utilizzare il tasto backspace per eliminare i caratteri. Per ulteriori informazioni, vedere Modifica di controlli.
Per una tabella degli stili del controllo di modifica che è possibile specificare nel parametro dwStyle , vedere Modifica di stili di controllo.
LISTBOX Definisce un elenco di stringhe di caratteri. Specificare questo controllo ogni volta che un'applicazione deve presentare un elenco di nomi, ad esempio nomi di file, dal quale l'utente può scegliere. L'utente può selezionare una stringa facendo clic su esso. Una stringa selezionata viene evidenziata e un messaggio di notifica viene passato alla finestra padre. Per ulteriori informazioni, vedere Caselle di riepilogo.
Per una tabella degli stili elenco casella che può specificare il parametro dwStyle , vedere Elenco casella stili.
MDICLIENT Designa una finestra MDI del client. Questa finestra riceve i messaggi che controllano le finestre figlio dell'applicazione MDI. I bit di stile raccomandati sono WS_CLIPCHILDREN e WS_CHILD. Specificare gli stili WS_HSCROLL e WS_VSCROLL per creare una finestra MDI client che consente all'utente di scorrere le finestre figlio MDI in vista. Per ulteriori informazioni, vedere Multiple Document Interface.
RichEdit Designa un controllo di versione 1.0 Rich Edit. Questa finestra permette la visualizzazione dell'utente e modificare il testo con il carattere e la formattazione di paragrafo e può includere oggetti COM incorporati. Per ulteriori informazioni, vedere Rich Edit Controls.
Per una tabella degli stili controllo rich edit che è possibile specificare nel parametro dwStyle , vedere Stili di controllo Rich Edit.
RICHEDIT_CLASS Designa un controllo di versione 2.0 Rich Edit. Questo controlla lasciare che la vista di utente e modifica il testo con il carattere e la formattazione di paragrafo e può includere oggetti COM incorporati. Per ulteriori informazioni, vedere Rich Edit Controls.
Per una tabella degli stili controllo rich edit che è possibile specificare nel parametro dwStyle , vedere Stili di controllo Rich Edit.
BARRA DI SCORRIMENTO Designa un rettangolo che contiene una casella di scorrimento e dispone le frecce di direzione a entrambe le estremità. La barra di scorrimento invia un messaggio di notifica alla finestra padre ogni volta che l'utente fa clic sul controllo. La finestra padre è responsabile dell'aggiornamento della posizione della casella di scorrimento, se necessario. Per ulteriori informazioni, vedere Le barre di scorrimento.
Per una tabella degli stili scorrimento barra controllo che è possibile specificare nel parametro dwStyle , vedere Stili di controllo barra di scorrimento.
STATICA Definisce un campo di testo semplice, scatola o rettangolo utilizzato per etichettare, scatola o separare altri controlli. Controlli statici non prendono alcun input e non forniscono alcun output. Per ulteriori informazioni, vedere Controlli statici.
Per una tabella degli stili di controllo statico, che è possibile specificare nel parametro dwStyle , vedere Stili di controllo statico.

Windows 95:Il sistema può supportare un massimo di 16.364 handle della finestra.

&Notanbsp; Se si specifica Windows versione 4. x durante il collegamento dell'applicazione, le sue finestre non possono avere pulsanti a meno che essi hanno anche menu finestra. Questo non è un requisito se si specifica la versione di Windows 3. x durante il collegamento dell'applicazione.

Windows CE: CreateWindow è implementato come una macro. Essa è definita come CreateWindowEx, ma con il parametro dwExStyle impostato su 0 L.

Barre dei menu non sono supportati. Il parametro hMenu deve essere NULL, se non viene utilizzato come identificatore finestra figlio.

Classe MDICLIENT window non è supportata.

Il parametro dwStyle può essere una combinazione di stili della finestra e stili di controllo documentati in:

Finestre di dialogo

Windows

Controlli

I flag dwStyle seguenti non sono supportati per 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

I flag dwStyle seguenti non sono supportati per i controlli e le finestre di dialogo:

Stili dei pulsanti non supportato Stili di controllo statico non supportato
BS_LEFTTEXT SS_BLACKFRAME
BS_MULTILINE SS_GRAYFRAME
BS_TEXT SS_METAPICT
BS_USERBUTTON SS_SIMPLE
Stili di casella combinata non supportato SS_WHITERECT
CBS_OWNERDRAWFIXED SS_BLACKRECT
CBS_OWNERDRAWVARIABLE SS_GRAYRECT
CBS_SIMPLE SS_RIGHTIMAGE
Stili di controllo casella lista non supportato SS_WHITEFRAME
LBS_NODATA Stili di casella di dialogo non supportato
LBS_OWNERDRAWFIXED DS_ABSALIGN
LBS_OWNERDRAWVARIABLE DS_CENTERMOUSE
LBS_STANDARD DS_CONTEXTHELP
Stili di barra di scorrimento non supportato DS_FIXEDSYS
SBS_BOTTOMALIGN DS_NOFAILCREATE
SBS_RIGHTALIGN DS_NOIDLEMSG
SBS_SIZEBOXBOTTOMRIGHTALIGN DS_SYSMODAL
SBS_SIZEGRIP

È possibile utilizzare lo stile BS_OWNERDRAW come un sostituto per lo stile BS_USERBUTTON.

È possibile utilizzare lo stile SS_LEFT o SS_LEFTNOWORDWRAP invece dello stile SS_SIMPLE per controlli statici..

Classe MDICLIENT window non è supportata.

Tutte le finestre hanno implicitamente gli stili WS_CLIPSIBLINGS e WS_CLIPCHILDREN.

Windows CE 1.0 non supporta windows posseduta, fatta eccezione per le finestre di dialogo. Se il parametro hwndParent non è NULL, la finestra viene implicitamente dato lo stile WS_CHILD.

Barre dei menu non supporta Windows CE versione 1.0.

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarati in winuser.
Importare librerie:Utilizzare user32.lib.
Unicode:Implementato come versioni Unicode e ANSI su Windows NT.

Vedi anche

Panoramica di Windows, funzioni finestra, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index