Styles de fenêtre étendus

Voici les styles de fenêtre étendus.

Exemple


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

Ce code a été extrait d’un exemple dans le dépôt GitHub d’exemples classiques Windows .

Constante/valeur Description
WS_EX_ACCEPTFILES
0x00000010L
La fenêtre accepte les fichiers glisser-déplacer.
WS_EX_APPWINDOW
0x00040000L
Force une fenêtre de niveau supérieur sur la barre des tâches lorsque la fenêtre est visible.
WS_EX_CLIENTEDGE
0x00000200L
La fenêtre a une bordure avec un bord enfoncé.
WS_EX_COMPOSITED
0x02000000L
Peint tous les descendants d’une fenêtre dans l’ordre de peinture de bas en haut à l’aide de la double mise en mémoire tampon. L’ordre de peinture de bas en haut permet à une fenêtre descendante d’avoir des effets de translucidité (alpha) et de transparence (touche de couleur), mais uniquement si la fenêtre descendante a également le WS_EX_TRANSPARENT bit défini. La double mise en mémoire tampon permet de peindre la fenêtre et ses descendants sans scintillement. Cela ne peut pas être utilisé si la fenêtre a un style de classeCS_OWNDC ou CS_CLASSDC.
Windows 2000 : Ce style n’est pas pris en charge.
WS_EX_CONTEXTHELP
0x00000400L
La barre de titre de la fenêtre comprend un point d’interrogation. Lorsque l’utilisateur clique sur le point d’interrogation, le curseur devient un point d’interrogation avec un pointeur. Si l’utilisateur clique ensuite sur une fenêtre enfant, l’enfant reçoit un message WM_HELP . La fenêtre enfant doit passer le message à la procédure de fenêtre parente, qui doit appeler la fonction WinHelp à l’aide de la commande HELP_WM_HELP . L’application Aide affiche une fenêtre contextuelle qui contient généralement de l’aide pour la fenêtre enfant.
WS_EX_CONTEXTHELP ne peut pas être utilisé avec les styles WS_MAXIMIZEBOX ou WS_MINIMIZEBOX .
WS_EX_CONTROLPARENT
0x00010000L
La fenêtre elle-même contient des fenêtres enfants qui doivent prendre part à la navigation dans la boîte de dialogue. Si ce style est spécifié, le gestionnaire de boîtes de dialogue se répète dans les enfants de cette fenêtre lors de l’exécution d’opérations de navigation telles que la gestion de la touche TAB, d’une touche de direction ou d’un clavier mnémonique.
WS_EX_DLGMODALFRAME
0x00000001L
La fenêtre a une double bordure ; La fenêtre peut éventuellement être créée avec une barre de titre en spécifiant le style WS_CAPTION dans le paramètre dwStyle .
WS_EX_LAYERED
0x00080000
La fenêtre est une fenêtre en couches. Ce style ne peut pas être utilisé si la fenêtre a un style de classeCS_OWNDC ou CS_CLASSDC.
Windows 8 : le style WS_EX_LAYERED est pris en charge pour les fenêtres de niveau supérieur et les fenêtres enfants. Les versions précédentes de Windows prennent en charge WS_EX_LAYERED uniquement pour les fenêtres de niveau supérieur.
WS_EX_LAYOUTRTL
0x00400000L
Si la langue de l’interpréteur de commandes est l’hébreu, l’arabe ou une autre langue qui prend en charge l’alignement de l’ordre de lecture, l’origine horizontale de la fenêtre se trouve sur le bord droit. L’augmentation des valeurs horizontales avance vers la gauche.
WS_EX_LEFT
0x00000000L
La fenêtre a des propriétés génériques alignées à gauche. Il s’agit de la valeur par défaut.
WS_EX_LEFTSCROLLBAR
0x00004000L
Si la langue de l’interpréteur de commandes est l’hébreu, l’arabe ou une autre langue qui prend en charge l’alignement de l’ordre de lecture, la barre de défilement verticale (le cas échéant) se trouve à gauche de la zone cliente. Pour les autres langues, le style est ignoré.
WS_EX_LTRREADING
0x00000000L
Le texte de la fenêtre est affiché à l’aide des propriétés de l’ordre de lecture de gauche à droite. Il s’agit de la valeur par défaut.
WS_EX_MDICHILD
0x00000040L
La fenêtre est une fenêtre enfant MDI.
WS_EX_NOACTIVATE
0x08000000L
Une fenêtre de niveau supérieur créée avec ce style ne devient pas la fenêtre de premier plan lorsque l’utilisateur clique dessus. Le système ne place pas cette fenêtre au premier plan lorsque l’utilisateur réduit ou ferme la fenêtre de premier plan.
La fenêtre ne doit pas être activée via l’accès par programmation ou via la navigation au clavier par une technologie accessible, telle que le Narrateur.
Pour activer la fenêtre, utilisez la fonction SetActiveWindow ou SetForegroundWindow .
La fenêtre n’apparaît pas dans la barre des tâches par défaut. Pour forcer l’affichage de la fenêtre dans la barre des tâches, utilisez le style WS_EX_APPWINDOW .
WS_EX_NOINHERITLAYOUT
0x00100000L
La fenêtre ne transmet pas sa disposition de fenêtre à ses fenêtres enfants.
WS_EX_NOPARENTNOTIFY
0x00000004L
La fenêtre enfant créée avec ce style n’envoie pas le message WM_PARENTNOTIFY à sa fenêtre parente lors de sa création ou de sa destruction.
WS_EX_NOREDIRECTIONBITMAP
0x00200000L
La fenêtre ne s’affiche pas sur une surface de redirection. Il s’agit de fenêtres qui n’ont pas de contenu visible ou qui utilisent des mécanismes autres que des surfaces pour fournir leur visuel.
WS_EX_OVERLAPPEDWINDOW
(WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
La fenêtre est une fenêtre qui se chevauche.
WS_EX_PALETTEWINDOW
(WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
La fenêtre est une fenêtre de palette, qui est une boîte de dialogue sans mode qui présente un tableau de commandes.
WS_EX_RIGHT
0x00001000L
La fenêtre a des propriétés génériques « alignées à droite ». Cela dépend de la classe de la fenêtre. Ce style n’a d’effet que si la langue de l’interpréteur de commandes est l’hébreu, l’arabe ou une autre langue qui prend en charge l’alignement de l’ordre de lecture; sinon, le style est ignoré.
L’utilisation du style WS_EX_RIGHT pour les contrôles statiques ou de modification a le même effet que l’utilisation du style SS_RIGHT ou ES_RIGHT , respectivement. L’utilisation de ce style avec des contrôles de bouton a le même effet que l’utilisation de styles BS_RIGHT et BS_RIGHTBUTTON .
WS_EX_RIGHTSCROLLBAR
0x00000000L
La barre de défilement verticale (le cas échéant) se trouve à droite de la zone cliente. Il s’agit de la valeur par défaut.
WS_EX_RTLREADING
0x00002000L
Si la langue de l’interpréteur de commandes est l’hébreu, l’arabe ou une autre langue qui prend en charge l’alignement de l’ordre de lecture, le texte de la fenêtre s’affiche à l’aide de propriétés d’ordre de lecture de droite à gauche. Pour les autres langues, le style est ignoré.
WS_EX_STATICEDGE
0x00020000L
La fenêtre a un style de bordure tridimensionnel destiné à être utilisé pour les éléments qui n’acceptent pas l’entrée utilisateur.
WS_EX_TOOLWINDOW
0x000000080L
La fenêtre est destinée à être utilisée comme barre d’outils flottante. Une fenêtre Outil a une barre de titre plus courte qu'une barre de titre normale, et le titre de la fenêtre est dessiné dans une police de plus petite taille. Une fenêtre d’outil n’apparaît pas dans la barre des tâches ni dans la boîte de dialogue qui s’affiche lorsque l’utilisateur appuie sur ALT+TAB. Si une fenêtre d’outil a un menu système, son icône n’est pas affichée dans la barre de titre. Toutefois, vous pouvez afficher le menu système en cliquant avec le bouton droit ou en tapant ALT+ESPACE.
WS_EX_TOPMOST
0x00000008L
La fenêtre doit être placée au-dessus de toutes les fenêtres non supérieures et doit rester au-dessus d’elles, même lorsque la fenêtre est désactivée. Pour ajouter ou supprimer ce style, utilisez la fonction SetWindowPos .
WS_EX_TRANSPARENT
0x000000020L
La fenêtre ne doit pas être peinte tant que les frères et sœurs sous la fenêtre (qui ont été créés par le même thread) n’ont pas été peints. La fenêtre apparaît transparente, car les bits des fenêtres frères sous-jacentes ont déjà été peints.
Pour obtenir la transparence sans ces restrictions, utilisez la fonction SetWindowRgn .
WS_EX_WINDOWEDGE
0x00000100L
La fenêtre a une bordure avec un bord surélevé.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Winuser.h (inclure Windows.h)