Partage via


Présentation des caractéristiques de fenêtre

Les classes de caractéristiques de fenêtre fournissent une méthode simple pour standardiser les styles utilisés pour la création d’un objet de fenêtre ATL. Les caractéristiques de fenêtre sont acceptées en tant que paramètres de modèle par CWindowImpl et d’autres classes de fenêtre ATL comme moyen de fournir des styles de fenêtre par défaut au niveau de la classe.

Si le créateur d’une instance de fenêtre ne fournit pas explicitement de styles dans l’appel à Créer, vous pouvez utiliser une classe de caractéristiques pour vous assurer que la fenêtre est toujours créée avec les styles appropriés. Vous pouvez même vous assurer que certains styles sont définis pour toutes les instances de cette classe de fenêtre tout en autorisant la définition d’autres styles par instance.

Modèles de caractéristiques de fenêtre ATL

ATL fournit deux modèles de caractéristiques de fenêtre qui vous permettent de définir des styles par défaut au moment de la compilation à l’aide de leurs paramètres de modèle.

Classe Description
CWinTraits Utilisez ce modèle lorsque vous souhaitez fournir des styles de fenêtre par défaut qui seront utilisés uniquement quand aucun autre style n’est spécifié dans l’appel à Create. Les styles fournis au moment de l’exécution sont prioritaires sur les styles définis au moment de la compilation.
CWinTraitsOR Utilisez cette classe lorsque vous souhaitez spécifier des styles qui doivent toujours être définis pour la classe de fenêtre. Les styles fournis au moment de l’exécution sont combinés aux styles définis au moment de la compilation à l’aide de l’opérateur OR au niveau du bit.

En plus de ces modèles, ATL fournit un certain nombre de spécialisations prédéfinies du CWinTraits modèle pour les combinaisons couramment utilisées de styles de fenêtre. Pour plus d’informations, consultez la documentation de référence de CWinTraits .

Caractéristiques de fenêtre personnalisées

Dans la situation peu probable où la spécialisation de l’un des modèles fournis par ATL n’est pas suffisante et que vous devez créer votre propre classe de caractéristiques, vous devez simplement créer une classe qui implémente deux fonctions statiques : GetWndStyle et GetWndStyleEx:

static DWORD GetWndStyle(DWORD dwStyle);
static DWORD GetWndExStyle(DWORD dwExStyle);

Chacune de ces fonctions est passée à une valeur de style au moment de l’exécution, qu’elle peut utiliser pour produire une nouvelle valeur de style. Si votre classe de caractéristiques de fenêtre est utilisée comme argument de modèle pour une classe de fenêtre ATL, les valeurs de style passées à ces fonctions statiques sont celles passées en tant qu’arguments de style à Créer.

Voir aussi

Classes de fenêtre