CreateWindowEx

La funzione CreateWindowEx crea una finestra sovrapposta, pop-up o bambino con un stile esteso; in caso contrario, questa funzione è identica alla funzione CreateWindow . Per ulteriori informazioni sulla creazione di una finestra e per una descrizione complete degli altri parametri di CreateWindowEx, vedere CreateWindow.

(HWND CreateWindowEx DWORD  dwExStyle, / / finestra stile estesoLPCTSTRlpClassName, / / puntatore a registrati il nome della classeLPCTSTRlpWindowName, / / puntatore a nome della finestraDWORDdwStyle, / / stile finestra int 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 al menu o identificatore finestra figlioHINSTANCEhInstance, / / handle all'istanza dell'applicazioneLPVOIDlpParam / / puntatore ai dati per la creazione della finestra);
 

Parametri

dwExStyle
Specifica lo stile esteso della finestra. Questo parametro può essere uno dei seguenti valori:
Stile Significato
WS_EX_ACCEPTFILES Specifica che una finestra creata con questo stile accetta file di trascinamento.
WS_EX_APPWINDOW Se la finestra è visibile, impone una finestra di primo livello su barra delle applicazioni.
WS_EX_CLIENTEDGE Specifica che una finestra ha un bordo con un bordo incassato.
WS_EX_CONTEXTHELP Include un punto interrogativo nella barra del titolo della finestra. Quando l'utente sceglie il punto interrogativo, il puntatore cambia a un punto interrogativo con un puntatore. Se l'utente sceglie quindi una finestra figlio, il bambino riceve un messaggio WM_HELP. Finestra secondaria dovrebbe passare il messaggio per la procedura di finestra padre, che deve chiamare la funzione WinHelp utilizzando il comando HELP_WM_HELP. L'applicazione di Help Visualizza una finestra popup che in genere contiene la guida per la finestra del bambino.

WS_EX_CONTEXTHELP non può essere utilizzato con gli stili WS_MAXIMIZEBOX o WS_MINIMIZEBOX.

WS_EX_CONTROLPARENT Consente all'utente di spostarsi tra le finestre figlio della finestra utilizzando il tasto tab.
WS_EX_DLGMODALFRAME Crea una finestra che ha un bordo doppio; la finestra può, opzionalmente, creata con una barra del titolo specificando lo stile WS_CAPTION nel parametro dwStyle.
WS_EX_LEFT Finestra ha proprietà generico "allineato a sinistra". Questa è l'impostazione predefinita.
WS_EX_LEFTSCROLLBAR Se la lingua del guscio è ebraico, arabo o un'altra lingua che supporta la lettura di allineamento di ordine, la barra di scorrimento verticale (se presenti) è a sinistra dell'area client. Per altre lingue, lo stile è ignorato e non trattato come un errore.
WS_EX_LTRREADING Il testo della finestra viene visualizzato utilizzando la sinistra a destra l'ordine di lettura proprietà. Questa è l'impostazione predefinita.
WS_EX_MDICHILD Crea una finestra figlia MDI.
WS_EX_NOPARENTNOTIFY Specifica che una finestra figlio creata con questo stile non inviare il messaggio WM_PARENTNOTIFY a finestra padre quando esso viene creato o distrutto.
WS_EX_OVERLAPPEDWINDOW Combina gli stili WS_EX_CLIENTEDGE e WS_EX_WINDOWEDGE.
WS_EX_PALETTEWINDOW Combina gli stili WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW e WS_EX_TOPMOST.
WS_EX_RIGHT La finestra ha proprietà generico "allineato a destra". Questo dipende dalla classe window. Questo stile ha effetto solo se la lingua del guscio è ebraico, arabo o un'altra lingua che supporta la lettura ordinare allineamento; in caso contrario, lo stile è ignorato e non trattato come un errore.
WS_EX_RIGHTSCROLLBAR Barra di scorrimento verticale (se presenti) è a destra dell'area client. Questa è l'impostazione predefinita.
WS_EX_RTLREADING Se la lingua del guscio è ebraico, arabo o un'altra lingua che supporta la lettura di allineamento di ordine, il testo della finestra viene visualizzato utilizzando il diritto alle proprietà di ordine di lettura da sinistra. Per altre lingue, lo stile è ignorato e non trattato come un errore.
WS_EX_STATICEDGE Crea una finestra con uno stile di bordo tridimensionale destinato ad essere utilizzati per gli elementi che non accettano l'input dell'utente.
WS_EX_TOOLWINDOW Crea una finestra degli strumenti; cioè, una finestra destinato a essere utilizzato come una barra degli strumenti mobile. Una finestra degli strumenti ha una barra del titolo è più breve di una barra del titolo normale e il titolo della finestra viene creato utilizzando un carattere più piccolo. Una finestra non viene visualizzata sulla barra delle applicazioni o nella finestra di dialogo che viene visualizzata quando l'utente preme alt + tab. Se una finestra degli strumenti ha un menu di sistema, la sua icona non viene visualizzato sulla barra del titolo. Tuttavia, è possibile visualizzare il menu di sistema facendo clic destro o digitando alt + barra spaziatrice.
WS_EX_TOPMOST Specifica che una finestra creata con questo stile deve essere posto soprattutto non in primo piano windows e dovrebbe stare sopra di loro, anche quando la finestra viene disattivata. Per aggiungere o rimuovere questo stile, utilizzare la funzione SetWindowPos.
WS_EX_TRANSPARENT Specifica che una finestra creata con questo stile non essere dipinto fino a quando i fratelli sotto la finestra (che sono stati creati dal thread stesso) sono state dipinte. Viene visualizzata la finestra trasparente perché i bit di windows di pari livello sottostante sono già state dipinte.

Per garantire la trasparenza senza queste restrizioni, utilizzare il SetWindowRgn funzione.

WS_EX_WINDOWEDGE Specifica che una finestra ha un bordo con un bordo rialzato.

Usando lo stile WS_EX_RIGHT per statico o controlli di modifica ha lo stesso effetto utilizzando lo stile SS_RIGHT o ES_RIGHT, rispettivamente. Usando questo stile con controlli pulsante ha lo stesso effetto utilizzando gli stili di BS_RIGHT e BS_RIGHTBUTTON.

lpClassName
Puntatore a una stringa con terminazione null o è un numero intero atomo. Se lpClassName è un atomo, deve essere un atomo globale creato da una precedente chiamata a GlobalAddAtom. 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 uno dei nomi di classe di controlli predefiniti.

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 x è impostata 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 da coordinate x iniziale al bordo destro dello schermo; 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, il parametro 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 il parametro 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 della finestra figlio, a seconda dello 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

La funzione CreateWindowEx invia messaggi WM_NCCREATE, WM_NCCALCSIZE e WM_CREATE alla finestra viene creata.

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.

Windows CE: Windows CE non supporta le barre dei menu stand-alone. Il parametro hMenu deve essere NULL, se non viene utilizzato come identificatore finestra figlio.

Versioni di Windows CE 2.0 e versioni successive supportano i seguenti due stili estesi finestra:

WS_EX_NOACTIVATE
Una finestra di alto livello creata con questo stile non può essere attivata. Se una finestra figlio ha questo stile, toccando esso non causerà il padre di primo livello essere attivato. Una finestra che ha questo stile riceveranno eventi dello stilo, ma non è né le sue finestre figlio possono ottenere la messa a fuoco.
WS_EX_NOANIMATION
Una finestra creata con questo stile non mostra animata che esplodono e implodendo rettangoli e non ha un pulsante sulla barra delle applicazioni.

Non sono supportati i seguenti flag dwExStyle.

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 non supporta lo stile WS_EX_TOPMOST. Versioni 2.0 e versioni successive.

Non sono supportati i seguenti flag dwStyle.

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

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.

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, CreateWindow, GlobalAddAtom, RegisterClassEx, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY

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

Index