Structure WNDCLASSA (winuser.h)
Contient les attributs de classe de fenêtre qui sont inscrits par la fonction RegisterClass .
Cette structure a été remplacée par la structure WNDCLASSEX utilisée avec la fonction RegisterClassEx . Vous pouvez toujours utiliser WNDCLASS et RegisterClass si vous n’avez pas besoin de définir la petite icône associée à la classe de fenêtre.
Syntaxe
typedef struct tagWNDCLASSA {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
} WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;
Membres
style
Type : UINT
Style(s) de classe. Ce membre peut être n’importe quelle combinaison des styles de classe.
lpfnWndProc
Type : WNDPROC
Pointeur vers la procédure de fenêtre. Vous devez utiliser la fonction CallWindowProc pour appeler la procédure de fenêtre. Pour plus d’informations, consultez WindowProc.
cbClsExtra
Type : int
Nombre d’octets supplémentaires à allouer à la suite de la structure de classe de fenêtre. Le système initialise les octets à zéro.
cbWndExtra
Type : int
Nombre d’octets supplémentaires à allouer après la fenêtre instance. Le système initialise les octets à zéro. Si une application utilise WNDCLASS pour inscrire une boîte de dialogue créée à l’aide de la directive CLASS dans le fichier de ressources, elle doit définir ce membre sur DLGWINDOWEXTRA.
hInstance
Type : HINSTANCE
Handle de la instance qui contient la procédure de fenêtre pour la classe .
hIcon
Type : HICON
Handle de l’icône de classe. Ce membre doit être un handle pour une ressource d’icône. Si ce membre a la valeur NULL, le système fournit une icône par défaut.
hCursor
Type : HCURSOR
Handle pour le curseur de classe. Ce membre doit être un handle pour une ressource de curseur. Si ce membre a la valeur NULL, une application doit définir explicitement la forme du curseur chaque fois que la souris se déplace dans la fenêtre de l’application.
hbrBackground
Type : HBRUSH
Handle pour le pinceau d’arrière-plan de classe. Ce membre peut être une poignée du pinceau physique à utiliser pour peindre l’arrière-plan, ou il peut s’agir d’une valeur de couleur. Une valeur de couleur doit être l’une des couleurs système standard suivantes (la valeur 1 doit être ajoutée à la couleur choisie). Si une valeur de couleur est donnée, vous devez la convertir en l’un des types HBRUSH suivants :
- COLOR_ACTIVEBORDER
- COLOR_ACTIVECAPTION
- COLOR_APPWORKSPACE
- COLOR_BACKGROUND
- COLOR_BTNFACE
- COLOR_BTNSHADOW
- COLOR_BTNTEXT
- COLOR_CAPTIONTEXT
- COLOR_GRAYTEXT
- COLOR_HIGHLIGHT
- COLOR_HIGHLIGHTTEXT
- COLOR_INACTIVEBORDER
- COLOR_INACTIVECAPTION
- COLOR_MENU
- COLOR_MENUTEXT
- COLOR_SCROLLBAR
- COLOR_WINDOW
- COLOR_WINDOWFRAME
- COLOR_WINDOWTEXT
Lorsque ce membre a la valeur NULL, une application doit peindre son propre arrière-plan chaque fois qu’elle est demandée pour peindre dans sa zone cliente. Pour déterminer si l’arrière-plan doit être peint, une application peut traiter le message WM_ERASEBKGND ou tester le membre fErase de la structure PAINTSTRUCT remplie par la fonction BeginPaint .
lpszMenuName
Type : LPCTSTR
Nom de la ressource du menu de classe, tel que le nom apparaît dans le fichier de ressources. Si vous utilisez un entier pour identifier le menu, utilisez la macro MAKEINTRESOURCE . Si ce membre a la valeur NULL, les fenêtres appartenant à cette classe n’ont pas de menu par défaut.
lpszClassName
Type : LPCTSTR
Pointeur vers une chaîne terminée par null ou est un atome. Si ce paramètre est un atome, il doit s’agir d’un atome de classe créé par un appel précédent à la fonction RegisterClass ou RegisterClassEx . L’atome doit être dans le mot d’ordre inférieur de lpszClassName ; le mot d’ordre supérieur doit être égal à zéro.
Si lpszClassName est une chaîne, il spécifie le nom de la classe de fenêtre. Le nom de la classe peut être n’importe quel nom inscrit auprès de RegisterClass ou RegisterClassEx, ou n’importe lequel des noms de classe de contrôle prédéfinis.
La longueur maximale de lpszClassName est 256. Si lpszClassName est supérieur à la longueur maximale, la fonction RegisterClass échoue.
Remarques
Notes
L’en-tête winuser.h définit WNDCLASS en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
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) |
Voir aussi
Conceptuel
Autres ressources
Référence