Функция RegisterClass


Функция RegisterClass регистрирует класс окна для последующего использования при вызове функции CreateWindow или CreateWindowEx

Функция RegisterClass была заменена функцией RegisterClassEx. Тем не менее, Вы можете  использовать RegisterClass, но только если Вы не нуждаетесь в установке маленького значка класса.

Синтаксис

ATOM RegisterClass(      
    CONST WNDCLASS* lpWndClass
);

Параметры

lpWndClass

[in] Указатель на структуру WNDCLASS. Вы должны заполнить структуру соответствующими атрибутами класса перед передачей её в функцию.

Возвращаемое значение

Если функция завершается успешно, возвращаемое значение - атом класса, который уникально идентифицирует зарегистрированный класс. Этот атом может  использоваться только функциями CreateWindow, CreateWindowEx, GetClassInfo, GetClassInfoEx, FindWindow, FindWindowEx и UnregisterClass и интерфейсным методом IACTIVEIMMAP:: FilterClientWindows.

Если функция завершается ошибкой, возвращаемое значение равняется нулю. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.

Замечания

Если Вы регистрируете класс окна, используя функцию RegisterClassA, приложение сообщает системе, что окна созданного класса предполагают сообщения с текстом или символьными параметрами, которые используют символьный набор ANSI; если Вы регистрируете его, используя RegisterClassW, приложение требует, чтобы система посылала сообщения с текстовыми параметрами на Unicode. Функция IsWindowUnicode дает возможность прикладной программе запросить характер каждого окна. Для получения дополнительной информации о функциях ANSI и Unicode, смотрите статью Соглашения для прототипов функций.

Все классы окна, которые регистрирует приложение, становятся незарегистрированными, когда класс завершает работу.

Windows 95/98/Me: Все классы окна, зарегистрированные динамически подключаемой библиотекой (DLL), становятся незарегистрированными, когда DLL выгружается.

Windows NT/2000/XP: Ни один класс окна, зарегистрированный  DLL, не становится незарегистрированным, когда DLL выгружается. DLL должна явно отменить регистрацию своего класса, когда она выгружается.

Функция RegisterClass завершается ошибкой, если член cbWndExtra или cbClsExtra структуры WNDCLASS содержат больше чем 40 байтов.

Функция RegisterClassW поддерживается Microsoft Layer for Unicode (MSLU). Чтобы использовать эту версию, Вы должны добавить некоторые файлы в ваше приложение, как это изложено в Microsoft Layer for Unicode для систем Windows 95/98/Me.

Пример

Пример, см. в статье Связь оконной процедуры с классом окна.

Смотри также

Обзор Классы окна, Функции, используемые классами окна, CreateWindow, CreateWindowEx, FindWindow, FindWindowEx, GetClassInfo, GetClassInfoEx, GetClassName, RegisterClassExUnregisterClass, WindowProc, WNDCLASSEX

Размещение и совместимость RegisterClass

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz