Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Эти макросы определяют служебные программы класса окон.
| Имя | Описание |
|---|---|
| DECLARE_WND_CLASS | Позволяет указать имя нового класса окна. |
| DECLARE_WND_CLASS2 | (Visual Studio 2017) Позволяет указать имя нового класса окна и вложенный класс, процедура которого будет использоваться новым классом. |
| DECLARE_WND_SUPERCLASS | Позволяет указать имя существующего класса окна, на котором будет основан новый класс окна. |
| DECLARE_WND_CLASS_EX | Позволяет указать параметры класса. |
Требования
Заголовок: atlwin.h
DECLARE_WND_CLASS
Позволяет указать имя нового класса окна. Поместите этот макрос в класс элемента управления ActiveX ATL.
DECLARE_WND_CLASS( WndClassName )
Параметры
WndClassName
[in] Имя нового класса окна. Если значение NULL, ATL создаст имя класса окна.
Замечания
Если вы используете параметр компилятора /permissive- компилятор, DECLARE_WND_CLASS приведет к ошибке компилятора; вместо этого используйте DECLARE_WND_CLASS2.
DECLARE_WND_CLASS позволяет указать имя нового класса окна, сведения которого будут управляться CWndClassInfo. DECLARE_WND_CLASS определяет новый класс окна, реализуя следующую статическую функцию:
static CWndClassInfo& GetWndClassInfo();
DECLARE_WND_CLASS задает следующие стили для нового окна:
CS_HREDRAW
CS_VREDRAW
CS_DBLCLKS
DECLARE_WND_CLASS также указывает цвет фона окна по умолчанию. Используйте макрос DECLARE_WND_CLASS_EX для предоставления собственных стилей и цвета фона.
CWindowImpl использует макрос DECLARE_WND_CLASS для создания окна на основе нового класса окна. Чтобы переопределить это поведение, используйте макрос DECLARE_WND_SUPERCLASS или предоставьте собственную реализацию функции GetWndClassInfo .
Дополнительные сведения об использовании окон в ATL см. в статье "Классы окон ATL".
DECLARE_WND_CLASS2
(Visual Studio 2017) Аналогично DECLARE_WND_CLASS, но с дополнительным параметром, который избегает ошибки зависимого имени при компиляции с параметром /permissive-.
DECLARE_WND_CLASS2( WndClassName, EnclosingClass )
Параметры
WndClassName
[in] Имя нового класса окна. Если значение NULL, ATL создаст имя класса окна.
Заключив класс
[in] Имя класса окна, включающего новый класс окна. Не может быть NULL.
Замечания
Если вы используете параметр /permissive-, DECLARE_WND_CLASS приведет к ошибке компиляции, так как она содержит зависимое имя. DECLARE_WND_CLASS2 требует явного имени класса, в который используется этот макрос, и не вызывает ошибку в флаге /permissive-. В противном случае этот макрос идентичен DECLARE_WND_CLASS.
DECLARE_WND_SUPERCLASS
Позволяет указать параметры класса. Поместите этот макрос в класс элемента управления ActiveX ATL.
DECLARE_WND_SUPERCLASS( WndClassName, OrigWndClassName )
Параметры
WndClassName
[in] Имя класса окна, который будет суперклассом OrigWndClassName. Если значение NULL, ATL создаст имя класса окна.
OrigWndClassName
[in] Имя существующего класса окна.
Замечания
Этот макрос позволяет указать имя класса окна, который будет суперклассом существующего класса окна. CWndClassInfo управляет информацией суперкласса.
DECLARE_WND_SUPERCLASS реализует следующую статическую функцию:
static CWndClassInfo& GetWndClassInfo();
По умолчанию CWindowImpl использует макрос DECLARE_WND_CLASS для создания окна на основе нового класса окна. Указав макрос DECLARE_WND_SUPERCLASS в CWindowImplпроизводном классе, класс окна будет основан на существующем классе, но будет использовать процедуру окна. Этот метод называется суперклассированием.
Помимо использования макросов DECLARE_WND_CLASS и DECLARE_WND_SUPERCLASS, можно переопределить функцию GetWndClassInfo с собственной реализацией.
Дополнительные сведения об использовании окон в ATL см. в статье "Классы окон ATL".
DECLARE_WND_CLASS_EX
Позволяет указать имя существующего класса окна, на котором будет основан новый класс окна. Поместите этот макрос в класс элемента управления ActiveX ATL.
DECLARE_WND_CLASS_EX( WndClassName, style, bkgnd )
Параметры
WndClassName
[in] Имя нового класса окна. Если значение NULL, ATL создаст имя класса окна.
style
[in] Стиль окна.
bkgnd
[in] Цвет фона окна.
Замечания
Этот макрос позволяет указать параметры класса нового класса окна, сведения о которых будут управляться CWndClassInfo. DECLARE_WND_CLASS_EX определяет новый класс окна, реализуя следующую статическую функцию:
static CWndClassInfo& GetWndClassInfo();
Если вы хотите использовать стили по умолчанию и цвет фона, используйте макрос DECLARE_WND_CLASS . Дополнительные сведения об использовании окон в ATL см. в статье "Классы окон ATL".