Partager via


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 CWindowImplclasse 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.

Voir aussi

Macros