Дополнительная память класса


Система обслуживает структуру WNDCLASSEX внутренне для каждого класса окна в системе. Когда приложение регистрирует класс окна, оно может предписать системе назначить и добавить в конец структуры WNDCLASSEX определенное число дополнительных байтов памяти. Эта память называется дополнительной памятью класса (extra class memory) и совместно используется всеми окнами, принадлежащими классу. Используйте дополнительную память класса, чтобы сохранить какую-либо информацию, имеющую отношение к классу.

Поскольку дополнительная память распределяется из локальной кучи системы, приложение должно использовать дополнительную память класса расчетливо. Функция RegisterClassEx завершается ошибкой, если объем дополнительной памяти класса затребован больше чем 40 байтов. Если приложение требует больше чем 40 байтов, оно должно назначить свою собственную память и сохранить указатель на память в дополнительной памяти класса.

Функции SetClassWord и SetClassLong копируют значение в дополнительную память класса. Чтобы извлечь значение из дополнительной памяти класса, используйте функции GetClassWord и GetClassLong. Член cbClsExtra структуры WNDCLASSEX устанавливает объем устанавливаемой дополнительной памяти класса. Приложение, которое не использует дополнительную память класса, должно инициализировать член структуры cbClsExtra нулями.

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

Hosted by uCoz