Re[3]: Оконная функция - ЧЛЕН КЛАССА?!
От: ivartanov https://mvp.support.microsoft.com/profile=3317CC31-AB7A-4D36-864E-47DEFF433151
Дата: 26.04.01 18:28
Оценка:
Здравствуйте av, 23.04.2001 18:39:40 вы писали:

>Э-э-э... А каким таким образом статическая фнукция может получать доступ к нестатическим полям? По-моему все можно сделать двумя методами. Первый (дубовый,


Согласен, и его дубовость может сослужить плохую службу, поскольку GWL_USERDATA может пользоваться совершенно другой кусок кода... И тогда все просто рухнет.

>Второй способ — поизящнее


... только я что-то ничего не понял, как он работает.
Суть проблемы — статическая функция не получает this, а ей все же нужно тем или иным способом получить его. Поскольку наша оконная функция стандартным способом получает хэндл окна, для которого нужно обработать сообщение, именно его ей нужно использовать для получения указателя на объект класса, ассоциированного с данным hwnd. Следовательно, нужно иметь статический (глобальный) указатель на массив указателей на объекты и прямым поиском искать объект, связанный с полученным хэндлом окна(дубовый способ), либо иметь карту <хэндл_окна-указатель_на_объект> (изящный способ).
---
С уважением,
Игорь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.