Подклассы экземпляров

Приложение подклассы экземпляр окна, используя функцию SetWindowLong . Приложение передает флаг GWL_WNDPROC, дескриптор окна для подкласса и адрес процедуры, подкласс SetWindowLong. Подкласс процедура может находиться в исполняемый файл приложения или библиотеки динамической компоновки (DLL).

SetWindowLong возвращает адрес исходную процедуру окна окна. Приложение должно сохранить адрес, использовать его в последующих вызовах функции CallWindowProc для передачи перехваченных сообщений в исходную процедуру окна. Приложение также должно иметь оригинальный адрес процедуру окна для удаления subclass из окна. Для удаления subclass, приложение вызывает метод SetWindowLong , передав адрес исходную процедуру окна с флагом GWL_WNDPROC и ручку в окно.

Система владеет системы глобальных классов, и аспекты элементов управления могут изменяться от одной версии системы к другой. Если приложение должно подкласс окна, принадлежит к классу глобальной системы, разработчику может потребоваться обновить приложение при выпуске новой версии системы.

Поскольку экземпляр подклассы происходит после создания окна, нельзя добавлять какие-либо дополнительные байты в окно. Приложения подкласс окна следует использовать список свойств окна для хранения любых данных, необходимых для экземпляра подкласс окна. Для получения дополнительной информации см. Окно Свойства.

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

Index