Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fenster-Merkmalsklassen bieten eine einfache Methode zur Normierung der Formatvorlagen, die für die Erstellung eines ATL-Fensterobjekts verwendet werden. Fenstermerkmale werden als Vorlagenparameter von CWindowImpl und anderen ATL-Fensterklassen akzeptiert, um Standardfensterstile auf Klassenebene bereitzustellen.
Wenn der Ersteller einer Fensterinstanz keine Formatvorlagen explizit im Aufruf von Create angibt, können Sie eine Merkmalklasse verwenden, um sicherzustellen, dass das Fenster dennoch mit den richtigen Formatvorlagen erstellt wird. Sie können sogar sicherstellen, dass bestimmte Formatvorlagen für alle Instanzen dieser Fensterklasse festgelegt sind, während andere Formatvorlagen auf einer pro-Instanz-Basis festgelegt werden können.
ATL Fenster Merkmale Vorlagen
ATL bietet zwei Fenstermerkmalsvorlagen, mit denen Sie Standardstile zur Kompilierzeit mithilfe ihrer Vorlagenparameter festlegen können.
| Klasse | Beschreibung |
|---|---|
| CWinTraits | Verwenden Sie diese Vorlage, wenn Sie Standard-Fensterstile bereitstellen möchten, die nur verwendet werden, wenn keine anderen Stile im Aufruf von „Create“ angegeben sind. Die zur Laufzeit bereitgestellten Formatvorlagen haben Vorrang vor den zur Kompilierzeit festgelegten Formatvorlagen. |
| CWinTraitsOR | Verwenden Sie diese Klasse, wenn Sie Stile angeben möchten, die immer für die Fensterklasse festgelegt werden müssen. Die zur Laufzeit bereitgestellten Stile werden mit den zur Kompilierzeit festgelegten Stilen unter Verwendung des bitweisen OR-Operators vereint. |
Zusätzlich zu diesen Vorlagen bietet ATL eine Anzahl vordefinierter Spezialisierungen der CWinTraits-Vorlage für häufig verwendete Kombinationen von Fensterstilen an. Siehe die CWinTraits-Verweisdokumentation für vollständige Details.
Benutzerdefinierte Fenstermerkmale
In der unwahrscheinlichen Situation, dass die Spezialisierung einer der von ATL bereitgestellten Vorlagen nicht ausreicht und Sie Ihre eigene Merkmalsklasse erstellen müssen, müssen Sie lediglich eine Klasse erstellen, die zwei statische Funktionen implementiert: GetWndStyle UND GetWndStyleEx:
static DWORD GetWndStyle(DWORD dwStyle);
static DWORD GetWndExStyle(DWORD dwExStyle);
Jede dieser Funktionen wird zur Laufzeit mit einem Stilwert versehen, den sie verwenden kann, um einen neuen Stilwert zu erzeugen. Wenn Ihre Fenstermerkmale-Klasse als Vorlagen-Argument für eine ATL-Fensterklasse verwendet wird, sind die Stilwerte, die an diese statischen Funktionen übergeben werden, diejenigen, die als Stil-Argumente an Erstellen übergeben wurden.