Condividi tramite


Stili finestra estesi

Di seguito sono riportati gli stili delle finestre estese.

Esempio


virtual    BOOL    Create(HWND hWndParent, WCHAR* pwszClassName,
                            WCHAR* pwszWindowName, UINT uID, HICON hIcon,
                            DWORD dwStyle = WS_OVERLAPPEDWINDOW,
                            DWORD dwExStyle = WS_EX_APPWINDOW,
                            int x = CW_USEDEFAULT, int y = CW_USEDEFAULT,
                            int cx = CW_USEDEFAULT, int cy = CW_USEDEFAULT);

Questo codice è stato tratto da un esempio nel repository GitHub degli esempi classici di Windows .

Costante/valore Descrizione
WS_EX_ACCEPTFILES
0x00000010L
La finestra accetta file di trascinamento della selezione.
WS_EX_APPWINDOW
0x0004000L
Forza una finestra di primo livello sulla barra delle applicazioni quando la finestra è visibile.
WS_EX_CLIENTEDGE
0x00000200L
La finestra ha un bordo con un bordo incassato.
WS_EX_COMPOSITED
0x02000000L
Disegna tutti i discendenti di una finestra nell'ordine di disegno dall'alto verso il basso usando il doppio buffer. L'ordine di disegno da basso a alto consente a una finestra discendente di avere effetti di traslucenza (alfa) e trasparenza (chiave di colore), ma solo se la finestra discendente ha anche il set di bit WS_EX_TRANSPARENT. Il doppio buffering consente di disegnare la finestra e i relativi discendenti senza sfarfallio. Questa operazione non può essere utilizzata se la finestra ha uno stile di classe di CS_OWNDC o di CS_CLASSDC.
Windows 2000: Questo stile non è supportato.
WS_EX_CONTEXTHELP
0x0000400L
La barra del titolo della finestra include un punto interrogativo. Quando l'utente fa clic sul punto interrogativo, il cursore assume l'aspetto di un punto interrogativo con un puntatore. Se l'utente fa clic su una finestra figlio, l'elemento figlio riceve un messaggio di WM_HELP . La finestra figlio deve passare il messaggio alla routine della finestra padre, che deve chiamare la funzione WinHelp usando il comando HELP_WM_HELP . L'applicazione Della Guida visualizza una finestra popup che in genere contiene la Guida per la finestra figlio.
WS_EX_CONTEXTHELP non può essere utilizzato con gli stili WS_MAXIMIZEBOX o WS_MINIMIZEBOX .
WS_EX_CONTROLPARENT
0x00010000L
La finestra stessa contiene finestre figlio che devono partecipare alla navigazione nella finestra di dialogo. Se questo stile viene specificato, gestione dialoghi si ripete negli elementi figlio di questa finestra durante l'esecuzione di operazioni di spostamento, ad esempio la gestione del tasto TAB, un tasto freccia o una tastiera mnemonic.
WS_EX_DLGMODALFRAME
0x00000001L
La finestra ha un bordo doppio; la finestra può, facoltativamente, essere creata con una barra del titolo specificando lo stile WS_CAPTION nel parametro dwStyle .
WS_EX_LAYERED
0x00080000
La finestra è una finestra a più livelli. Questo stile non può essere utilizzato se la finestra ha uno stile di classe di CS_OWNDC o CS_CLASSDC.
Windows 8: lo stile di WS_EX_LAYERED è supportato per le finestre di primo livello e le finestre figlio. Le versioni precedenti di Windows supportano WS_EX_LAYERED solo per le finestre di primo livello.
WS_EX_LAYOUTRTL
0x0040000L
Se la lingua della shell è ebraico, arabo o un'altra lingua che supporta l'allineamento dell'ordine di lettura, l'origine orizzontale della finestra si trova sul bordo destro. L'aumento dei valori orizzontali passa a sinistra.
WS_EX_LEFT
0x0000000L
La finestra ha proprietà generica allineate a sinistra. Questo è il valore predefinito.
WS_EX_LEFTSCROLLBAR
0x00004000L
Se la lingua della shell è ebraico, arabo o un'altra lingua che supporta l'allineamento dell'ordine di lettura, la barra di scorrimento verticale (se presente) è a sinistra dell'area client. Per altre lingue, lo stile viene ignorato.
WS_EX_LTRREADING
0x0000000L
Il testo della finestra viene visualizzato utilizzando le proprietà dell'ordine di lettura da sinistra a destra. Questo è il valore predefinito.
WS_EX_MDICHILD
0x0000040L
La finestra è una finestra figlio MDI.
WS_EX_NOACTIVATE
0x08000000L
Una finestra di primo livello creata con questo stile non diventa la finestra in primo piano quando l'utente lo fa clic. Il sistema non porta in primo piano questa finestra quando l'utente riduce o chiude la finestra in primo piano.
La finestra non deve essere attivata tramite l'accesso a livello di codice o tramite lo spostamento tramite tastiera tramite tecnologia accessibile, ad esempio Assistente vocale.
Per attivare la finestra, usare la funzione SetActiveWindow o SetForegroundWindow .
La finestra non viene visualizzata sulla barra delle applicazioni per impostazione predefinita. Per forzare la visualizzazione della finestra sulla barra delle applicazioni, usare lo stile WS_EX_APPWINDOW .
WS_EX_NOINHERITLAYOUT
0x0010000L
La finestra non passa il layout della finestra alle finestre figlio.
WS_EX_NOPARENTNOTIFY
0x00000004L
La finestra figlio creata con questo stile non invia il messaggio WM_PARENTNOTIFY alla finestra padre al momento della creazione o dell'eliminazione definitiva.
WS_EX_NOREDIRECTIONBITMAP
0x0020000L
La finestra non esegue il rendering in una superficie di reindirizzamento. Questo vale per le finestre che non hanno contenuto visibile o che usano meccanismi diversi dalle superfici per fornire l'oggetto visivo.
WS_EX_OVERLAPPEDWINDOW
(WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
La finestra è una finestra sovrapposta.
WS_EX_PALETTEWINDOW
(WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
La finestra è la finestra del riquadro, ovvero una finestra di dialogo senza modalità che presenta una matrice di comandi.
WS_EX_RIGHT
0x00001000L
La finestra ha proprietà generica "allineate a destra". Ciò dipende dalla classe della finestra. Questo stile ha effetto solo se la lingua della shell è ebraico, arabo o un'altra lingua che supporta l'allineamento dell'ordine di lettura; in caso contrario, lo stile viene ignorato.
L'uso dello stile di WS_EX_RIGHT per i controlli statici o di modifica ha lo stesso effetto dell'uso rispettivamente dello stile SS_RIGHT o ES_RIGHT . L'uso di questo stile con i controlli pulsante ha lo stesso effetto dell'uso di stili BS_RIGHT e BS_RIGHTBUTTON .
WS_EX_RIGHTSCROLLBAR
0x0000000L
La barra di scorrimento verticale (se presente) è a destra dell'area client. Questo è il valore predefinito.
WS_EX_RTLREADING
0x00002000L
Se la lingua della shell è ebraico, arabo o un'altra lingua che supporta l'allineamento dell'ordine di lettura, il testo della finestra viene visualizzato usando le proprietà dell'ordine di lettura da destra a sinistra. Per altre lingue, lo stile viene ignorato.
WS_EX_STATICEDGE
0x00020000L
La finestra ha uno stile di bordo tridimensionale che deve essere utilizzato per gli elementi che non accettano l'input dell'utente.
WS_EX_TOOLWINDOW
0x0000080L
La finestra deve essere utilizzata come barra degli strumenti mobile. Una finestra degli strumenti dispone di una barra del titolo più piccola di una normale e il titolo della finestra è scritto con un carattere più piccolo. Una finestra degli strumenti non viene visualizzata nella barra delle applicazioni o nella finestra di dialogo visualizzata quando l'utente preme ALT+TAB. Se una finestra degli strumenti include un menu di sistema, la relativa icona non viene visualizzata sulla barra del titolo. È tuttavia possibile visualizzare il menu di sistema facendo clic con il pulsante destro del mouse o digitando ALT+SPACE.
WS_EX_TOPMOST
0x00000008L
La finestra deve essere posizionata sopra tutte le finestre non più in alto e deve rimanere sopra di loro, anche quando la finestra è disattivata. Per aggiungere o rimuovere questo stile, usare la funzione SetWindowPos .
WS_EX_TRANSPARENT
0x00000020L
La finestra non deve essere dipinta fino a quando non sono stati dipinti elementi di pari livello sotto la finestra (creati dallo stesso thread). La finestra appare trasparente perché i bit delle finestre di pari livello sottostanti sono già state disegnate.
Per ottenere la trasparenza senza queste restrizioni, usare la funzione SetWindowRgn .
WS_EX_WINDOWEDGE
0x00000100L
La finestra ha un bordo con un bordo sollevato.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Winuser.h (include Windows.h)