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