modèle lt, classeTclasseTBase= CWindow, classeTWinTraits= CControlWinTraits >
classe ATL_NO_VTABLE CWindowImpl : public CWindowImplBaseT < TBase, TWinTraits >
Paramètres
T
Votre classe dérivée de CWindowImpl.
TBase
La classe de base de votre nouvelle classe. La classe de base par défaut est CWindow.
TWinTrait
Une classe de caractères qui définit les styles pour votre fenêtre. La valeur par défaut est CControlWinTraits.
CWindowImpl vous permet de créer une nouvelle fenêtre ou la sous-classe une fenêtre existante. Procédure de fenêtre de CWindowImplutilise une carte message pour diriger les messages pour les gestionnaires d'événements appropriés.
CWindowImpl::Create crée une nouvelle fenêtre basée sur les informations de classe de fenêtre gérées par CWndClassInfo. CWindowImpl contient la macro DECLARE_WND_CLASS , qui signifie que CWndClassInfo enregistrera une nouvelle classe de fenêtre. Si vous voulez superclasse une classe de fenêtre existante, dérivez votre classe de CWindowImpl et inclure la macro DECLARE_WND_SUPERCLASS . Dans ce cas, CWndClassInfo , inscrivez à une classe de fenêtre qui est basée sur une classe existante, mais qui utilise CWindowImpl::WindowProc. Par exemple
classe CMyWindow : CComControllt ;CMyWindow >,...
/ / CComControl dérive de CWindowImpl
{
public :
// 1. Le paramètre NULL signifie ATL génère une
/ / nom de la superclasse
// 2. Le paramètre « EDIT » signifie la superclasse
et basé sur la boîte d'édition Windows standard
DECLARE_WND_SUPERCLASS (NULL, « EDIT »)
...
};
&Notenbsp ; Parce que CWndClassInfo gère les informations pour une classe de fenêtre unique, chaque fenêtre créée via une instance de CWindowImpl reposera sur la même classe de fenêtre.
CWindowImpl prend également en charge le sous-classement de fenêtre. La méthode SubclassWindow attache une fenêtre existante de l'objet CWindowImpl et modifie la procédure de fenêtre à CWindowImpl::WindowProc. Chaque instance de CWindowImpl pouvez sous-classe une fenêtre différente.
&Notenbsp ; Pour n'importe quel objet donné de CWindowImpl , appelez Create ou SubclassWindow. Vous ne devez pas appeler les méthodes sur l'objet même.
En plus de CWindowImpl, ATL propose CContainedWindow pour créer une fenêtre dans un autre objet.
Le destructeur de la classe de base (~CWindowImplRoot) s'assure que la fenêtre est disparue avant que l'objet est détruit.
CWindowImpl dérive de CWindowImplBaseT, qui dérive de CWindowImplRoot, qui dérive à son tour de TBase et CMessageMap.
| Pour plus d'informations | Voir |
| Création de contrôles | Didacticiel ATL |
| À l'aide de windows en ATL | Classes de fenêtre ATL |
| Assistant objet ATL | Création d'un projet ATL |
| Windows | Windows et les rubriques suivantes dans le SDK de la plate-forme |
| Sous-classement | Sous-classement de fenêtre procédure dans la plate-forme SDK |
| Surclassement | Fenêtre procédure surclasser dans la plate-forme SDK |
# include lt;atlwin.h>
Voir aussi