Macros de classe de fenêtre
Ces macros définissent des utilitaires de classe de fenêtre.
Nom | Description |
---|---|
DECLARE_WND_CLASS | Vous permet de spécifier le nom d’une nouvelle classe de fenêtre. |
DECLARE_WND_CLASS2 | (Visual Studio 2017) Vous permet de spécifier le nom d’une nouvelle classe de fenêtre et la classe englobante dont la procédure de fenêtre utilise la nouvelle classe. |
DECLARE_WND_SUPERCLASS | Vous permet de spécifier le nom d’une classe de fenêtre existante sur laquelle une nouvelle classe de fenêtre sera basée. |
DECLARE_WND_CLASS_EX | Vous permet de spécifier les paramètres d’une classe. |
Spécifications
En-tête : atlwin.h
DECLARE_WND_CLASS
Vous permet de spécifier le nom d’une nouvelle classe de fenêtre. Placez cette macro dans la classe de contrôle d’un contrôle ATL ActiveX.
DECLARE_WND_CLASS( WndClassName )
Paramètres
WndClassName
[in] Nom de la nouvelle classe de fenêtre. Si la valeur EST NULL, ATL génère un nom de classe de fenêtre.
Notes
Si vous utilisez l’option /permissive- compilateur, DECLARE_WND_CLASS provoquera une erreur du compilateur ; utilisez DECLARE_WND_CLASS2 à la place.
DECLARE_WND_CLASS vous permet de spécifier le nom d’une nouvelle classe de fenêtre dont les informations seront gérées par CWndClassInfo. DECLARE_WND_CLASS définit la nouvelle classe de fenêtre en implémentant la fonction statique suivante :
static CWndClassInfo& GetWndClassInfo();
DECLARE_WND_CLASS spécifie les styles suivants pour la nouvelle fenêtre :
CS_HREDRAW
CS_VREDRAW
CS_DBLCLKS
DECLARE_WND_CLASS spécifie également la couleur d’arrière-plan de la fenêtre par défaut. Utilisez la macro DECLARE_WND_CLASS_EX pour fournir vos propres styles et couleur d’arrière-plan.
CWindowImpl utilise la macro DECLARE_WND_CLASS pour créer une fenêtre basée sur une nouvelle classe de fenêtre. Pour remplacer ce comportement, utilisez la macro DECLARE_WND_SUPERCLASS ou fournissez votre propre implémentation de la fonction GetWndClassInfo .
Pour plus d’informations sur l’utilisation de fenêtres dans ATL, consultez l’article ATL Window Classes.
DECLARE_WND_CLASS2
(Visual Studio 2017) Similaire à DECLARE_WND_CLASS, mais avec un paramètre supplémentaire qui évite une erreur de nom dépendant lors de la compilation avec l’option /permissive- .
DECLARE_WND_CLASS2( WndClassName, EnclosingClass )
Paramètres
WndClassName
[in] Nom de la nouvelle classe de fenêtre. Si la valeur EST NULL, ATL génère un nom de classe de fenêtre.
EnclosingClass
[in] Nom de la classe de fenêtre qui entoure la nouvelle classe de fenêtre. Ne peut pas avoir la valeur NULL.
Notes
Si vous utilisez l’option /permissive- , DECLARE_WND_CLASS provoque une erreur de compilation, car elle contient un nom dépendant. DECLARE_WND_CLASS2 vous oblige à nommer explicitement la classe dans laquelle cette macro est utilisée et ne provoque pas l’erreur sous l’indicateur /permissive- . Sinon, cette macro est identique à DECLARE_WND_CLASS.
DECLARE_WND_SUPERCLASS
Vous permet de spécifier les paramètres d’une classe. Placez cette macro dans la classe de contrôle d’un contrôle ATL ActiveX.
DECLARE_WND_SUPERCLASS( WndClassName, OrigWndClassName )
Paramètres
WndClassName
[in] Nom de la classe de fenêtre qui superclasse OrigWndClassName. Si la valeur EST NULL, ATL génère un nom de classe de fenêtre.
OrigWndClassName
[in] Nom d’une classe de fenêtre existante.
Notes
Cette macro vous permet de spécifier le nom d’une classe de fenêtre qui superclasse une classe de fenêtre existante. CWndClassInfo gère les informations de la superclasse.
DECLARE_WND_SUPERCLASS implémente la fonction statique suivante :
static CWndClassInfo& GetWndClassInfo();
Par défaut, CWindowImpl utilise la macro DECLARE_WND_CLASS pour créer une fenêtre basée sur une nouvelle classe de fenêtre. En spécifiant la macro DECLARE_WND_SUPERCLASS dans une CWindowImpl
classe dérivée de type -, la classe de fenêtre est basée sur une classe existante, mais utilise votre procédure de fenêtre. Cette technique est appelée superclassement.
Outre l’utilisation des macros DECLARE_WND_CLASS et DECLARE_WND_SUPERCLASS, vous pouvez remplacer la fonction GetWndClassInfo par votre propre implémentation.
Pour plus d’informations sur l’utilisation de fenêtres dans ATL, consultez l’article ATL Window Classes.
DECLARE_WND_CLASS_EX
Vous permet de spécifier le nom d’une classe de fenêtre existante sur laquelle une nouvelle classe de fenêtre sera basée. Placez cette macro dans la classe de contrôle d’un contrôle ATL ActiveX.
DECLARE_WND_CLASS_EX( WndClassName, style, bkgnd )
Paramètres
WndClassName
[in] Nom de la nouvelle classe de fenêtre. Si la valeur EST NULL, ATL génère un nom de classe de fenêtre.
style
[in] Style de la fenêtre.
bkgnd
[in] Couleur d’arrière-plan de la fenêtre.
Notes
Cette macro vous permet de spécifier les paramètres de classe d’une nouvelle classe de fenêtre, dont les informations seront gérées par CWndClassInfo. DECLARE_WND_CLASS_EX définit la nouvelle classe de fenêtre en implémentant la fonction statique suivante :
static CWndClassInfo& GetWndClassInfo();
Si vous souhaitez utiliser les styles par défaut et la couleur d’arrière-plan, utilisez la macro DECLARE_WND_CLASS . Pour plus d’informations sur l’utilisation de fenêtres dans ATL, consultez l’article ATL Window Classes.