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);
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.
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.
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 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.
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.
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:
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.
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, CreateWindow, GlobalAddAtom, RegisterClassEx, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY
Rimedio: Inserire il CD-ROM CD di MSDN Library.