powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / CALLBACK в виде метода класса
4 сообщений из 4, страница 1 из 1
CALLBACK в виде метода класса
    #33565011
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необходимо запихнуть оконную процедуру в класс. Я передаю в класс хэндл контрола ( list-view ), отдельным методом реализую его оконную процедуру, Поскольку контрол создан заранее, то и оконная процедура уже есть, мне необходимо заменить оригинальную процедуру на свою. Пробую подменить ее:

origLVWndProc = (WNDPROC)SetWindowLong( hLV, GWL_WNDPROC, (DWORD)LVGrid::ListViewWndProc );

Компилятор выдает ошибку:
error C2440: 'type cast' : cannot convert from 'LRESULT (__stdcall LVGrid::* )(HWND,UINT,WPARAM,LPARAM)' to 'DWORD'

т.е. не может переконвертировать тип. Однако если заводить оконную процедуру просто отдельной функцией, то все проходит успешно(подменяет и все работает).

В чем может быть проблема и как ее можно решить?
...
Рейтинг: 0 / 0
CALLBACK в виде метода класса
    #33565072
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделай обычную процедуру, передавай в нее указатель на класс, а в ней уже вызывай
(YOURCLASS*)ycPointer->yourMethod();
типа того
...
Рейтинг: 0 / 0
CALLBACK в виде метода класса
    #33565104
J_f_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделай его статиком
...
Рейтинг: 0 / 0
CALLBACK в виде метода класса
    #33565115
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может попробовать так
Код: plaintext
1.
2.
LRESULT (CALLBACK LVGrid::*pfnCallBack)(HWND,UINT,WPARAM,LPARAM) = &LVGrid::ListViewWndProc;
origLVWndProc = (WNDPROC)SetWindowLong( hLV, GWL_WNDPROC, (DWORD)pfnCallBack);
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / CALLBACK в виде метода класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]