![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Freeman |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 29.11.2003 Репутация: нет Всего: нет |
Есть один маленький вопросик: нельзя ли каким-либо способом сделать оконную процедуру методом класса?
|
|||
|
||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
|
|||
|
||||
Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Fixin ведь просили методом класса, а не дружественной функцией.
Можно, но только при этом ей поставить атрибут static. |
|||
|
||||
Freeman |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 29.11.2003 Репутация: нет Всего: нет |
Вообще-то не хочется чтобы функция была статической, тогда ведь возникнут трудности при взаимодействии с членами класса.
|
|||
|
||||
Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: нет Всего: 10 |
Только если метод статический. Тут нужно решить проблему как из статической функции получить доступ к нестатическим полям и методам класса. В данном случае это можно сделать следующим образом: В CreateWindowEx() последним параметром передавай указатель на класс В оконной процедуре ловишь WM_NCCREATE и WM_CREATE . lParam - указатель, который ты передал CreateWindowEx(). Дальше сохраняешь этот указатель в статическом члене класса. А если у тебя этих окон два или больше, то можно использовать то, что для каждого окна можно сохранить 32-битное число как userdata. А когда получаешь HWND, по нему получаешь число - GetWindowLong(), а число есть указатель куда тебе надо. Используешь reinterpret_cast<type*> и все -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |