Styles de classe de fenêtre

Les styles de classe définissent des éléments supplémentaires de la classe de fenêtre. Plusieurs styles peuvent être combinés à l’aide de l’opérateur or au niveau du bit ( | ). Pour assigner un style à une classe de fenêtre, assignez le style au membre de style de la structure WNDCLASSEX .

Exemples

    WNDCLASS wc = {};
    wc.lpfnWndProc = s_DropDownWndProc;
    wc.cbWndExtra = sizeof(CTipACDialog *);
    wc.hInstance = g_hInstance;
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wc.style = CS_SAVEBITS | CS_DROPSHADOW;
    wc.lpszClassName = s_wzClassName;
    RegisterClass(&wc);

exemple de Windows exemples classiques sur GitHub.

Constantes

Voici les styles de classe de fenêtre.

Constante/valeur Description
Cs _ BYTEALIGNCLIENT
0x1000
Aligne la zone cliente de la fenêtre sur une limite d’octets (dans la direction x). Ce style affecte la largeur de la fenêtre et son positionnement horizontal sur l’affichage.
Cs _ BYTEALIGNWINDOW
0x2000
Aligne la fenêtre sur une limite d’octets (dans la direction x). Ce style affecte la largeur de la fenêtre et son positionnement horizontal sur l’affichage.
Cs _ CLASSDC
0x0040
Alloue un contexte de périphérique à partager par toutes les fenêtres de la classe. Étant donné que les classes de fenêtre sont spécifiques au processus, il est possible pour plusieurs threads d’une application de créer une fenêtre de la même classe. Il est également possible que les threads essaient d’utiliser le contexte de périphérique simultanément. Dans ce cas, le système n’autorise qu’un seul thread à terminer correctement son opération de dessin.
Cs _ DBLCLKS
0x0008
Envoie un message de double-clic à la procédure de fenêtre lorsque l’utilisateur double-clique sur la souris alors que le curseur se trouve dans une fenêtre appartenant à la classe.
Cs _ DROPSHADOW
0x00020000
Active l’effet d’ombre portée sur une fenêtre. L’effet est activé et désactivé via SPI _ SETDROPSHADOW. En règle générale, cette option est activée pour les petites fenêtres éphémères, telles que les menus, pour mettre en évidence leur relation de l’ordre de plan avec d’autres fenêtres. Windows créé à partir d’une classe avec ce style doit être une fenêtre de niveau supérieur. ils ne peuvent pas être des fenêtres enfants.
Cs _ GLOBALCLASS
0x4000
Indique que la classe de fenêtre est une classe globale d’application. Pour plus d’informations, consultez la section « classes globales d’application » de la rubrique à propos des classes de fenêtre.
Cs _ HREDRAW
0x0002
Redessine la fenêtre entière si un déplacement ou un ajustement de taille modifie la largeur de la zone cliente.
Cs _ Nofermer
0x0200
Désactive Fermer dans le menu fenêtre.
Cs _ OWNDC
0x0020
Alloue un contexte de périphérique unique pour chaque fenêtre de la classe.
Cs _ PARENTDC
0x0080
Définit le rectangle de découpage de la fenêtre enfant sur celui de la fenêtre parente afin que l’enfant puisse dessiner sur le parent. Une fenêtre avec le bit de style cs _ PARENTDC reçoit un contexte de périphérique standard du cache du système de contextes de périphérique. Elle ne donne pas à l’enfant le contexte de périphérique ou les paramètres de contexte de périphérique du parent. La spécification de cs _ PARENTDC améliore les performances d’une application.
Cs _ SAVEBITS
0x0800
Enregistre, sous forme de bitmap, la partie de l’image d’écran masquée par une fenêtre de cette classe. Lorsque la fenêtre est supprimée, le système utilise le bitmap enregistré pour restaurer l’image d’écran, y compris les autres fenêtres qui étaient masquées. Par conséquent, le système n’envoie pas de messages de _ peinture WM à Windows qui étaient masqués si la mémoire utilisée par la bitmap n’a pas été ignorée et si d’autres actions d’écran n’ont pas invalidé l’image stockée.
Ce style est utile pour les petites fenêtres (par exemple, les menus ou les boîtes de dialogue) qui sont brièvement affichées, puis supprimées avant l’exécution d’une autre activité de l’écran. Ce style augmente le temps nécessaire pour afficher la fenêtre, car le système doit d’abord allouer de la mémoire pour stocker l’image bitmap.
Cs _ VREDRAW
0x0001
Redessine la fenêtre entière si un déplacement ou un ajustement de taille modifie la hauteur de la zone cliente.

Configuration requise

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)