![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
EnergoHokum |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
Я определил указатель на функцию-обработчик (которая внутри класса) вне класса,
В классе определил саму функцию-обработчик
И на вызове SetWindowLong говорит, что не может привести результат SetWindowLong (LONG) к указателю, и про (LONG)pTC тоже говорит, что так нельзя. Я скоро уйду, приду только в понедельник (может, в воскресенье). Если что надумаю -- напишу. |
||||||
|
|||||||
586 |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
Код не проверял, могут быть ошибки Это сообщение отредактировал(а) 586 - 14.12.2007, 17:07 |
||||
|
|||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
EnergoHokum, ты с упорством, достойным лучшего применения, пытаешься таки подсунуть метод класса в качестве WndProc. Что показывает, что ты не понимаешь сути. Это не просто придурь компилятора. Ты думаешь, раз сигнатуры статической или глобальной функции выглядят так же как сигнатура метода, то одно можно подсунуть вместо другого? У метода есть дополнительный неявный аргумент - this, который и нарушает похожесть сигнатур. При вызове метода он идет первым аргументом. А CALLBACK-функции его просто взять неокуда. Поэтому оконная функция может быть только статической. Далее, она может как-то определить, какой объект твоего класса соответствует hWnd и вызвать для этого объекта метод. Как определить - дело техники. Можно, как тебе показали, засунуть указатель в доп. память hWnd. Можно поддерживать внешний глобальный map hWnd->pWnd. Можно еще что-нибуль придумать. Но обойтись без этого "что-нибудь" не удастся.
-------------------- ... |
|||
|
||||
EnergoHokum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
Я понимал, но "местами" (какими -- не скажу
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |