Styles de classe de fenêtre
Les styles de classe définissent des éléments supplémentaires de la classe window. Deux styles ou plus peuvent être combinés à l’aide de l’opérateur OR au niveau du bit (|). Pour affecter un style à une classe de fenêtre, affectez le style au membre de style de la structure WNDCLASSEX .
Exemple
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);
Exemples classiques Windows sur GitHub.
Constantes
Voici les styles de classe de fenêtre.
Constante/valeur | Description |
---|---|
|
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 sa position horizontale sur l’écran. |
|
Aligne la fenêtre sur une limite d’octet (dans le sens x). Ce style affecte la largeur de la fenêtre et sa position horizontale sur l’écran. |
|
Alloue un contexte d’appareil à 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 pour les threads d’essayer d’utiliser le contexte de l’appareil simultanément. Dans ce cas, le système n’autorise qu’un seul thread à terminer son opération de dessin. |
|
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 . |
|
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, cela est activé pour les petites fenêtres de courte durée, telles que les menus, pour mettre en évidence leur relation de commande Z avec d’autres fenêtres. Les fenêtres créées à partir d’une classe avec ce style doivent être des fenêtres de niveau supérieur ; il se peut qu’il ne s’agir pas de fenêtres enfants. |
|
Indique que la classe window est une classe globale d’application. Pour plus d’informations, consultez la section « Classes globales d’application » de À propos des classes de fenêtre. |
|
Redessine l’ensemble de la fenêtre si un mouvement ou un ajustement de taille modifie la largeur de la zone cliente. |
|
Désactive Fermer dans le menu de la fenêtre. |
|
Alloue un contexte d’appareil unique pour chaque fenêtre de la classe. |
|
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 d’appareil normal à partir du cache des contextes d’appareil du système. Il ne donne pas à l’enfant le contexte de l’appareil parent ou les paramètres de contexte de l’appareil. La spécification de CS_PARENTDC améliore les performances d’une application. |
|
Enregistre, en tant que bitmap, la partie de l’image écran masquée par une fenêtre de cette classe. Lorsque la fenêtre est supprimée, le système utilise l’image bitmap enregistrée pour restaurer l’image d’écran, y compris d’autres fenêtres masquées. Par conséquent, le système n’envoie pas de messages WM_PAINT aux fenêtres qui ont été masquées 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 s’affichent brièvement, puis sont supprimées avant qu’une autre activité d’écran ne se produise. 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 la bitmap. |
|
Redessine la fenêtre entière si un mouvement ou un ajustement de taille modifie la hauteur de la zone cliente. |
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 |
|