Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Обработка оконных сообщений / 4 сообщений из 4, страница 1 из 1
19.07.2005, 10:15
    #33172675
m1rag3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка оконных сообщений
Доброго времени суток!
Помогите плз решить мою траблу...
Создаю класс, в нем объявляю функции в том числе и оконную функцию.При попытке присвоить свойству lpfnWndProc в структуре WNDCLASS метод класса, соответствующий типу WNDPROC, получаю ошибку компилятора (MS VC 7)
"Cannot convert 'overloaded-function to WNDPROC'"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
class MainWndClass
{
...
public:
WNDCLASS wc;
...
bool InitWindow();
LRESULT CALLBACK MainWndProc(...);
};

...

bool MainWndClass::InitWindow
{
...
wc.lpfnWndProc = (WNDPROC)MainWndProc;
...
return true;
}

Помогите плз очень надо!!!
...
Рейтинг: 0 / 0
19.07.2005, 10:23
    #33172702
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка оконных сообщений
Если я ничего не путаю, то функция MainWndProc должна быть внешней...
Попробуй вынести ее за "рамки" класса...
...
Рейтинг: 0 / 0
19.07.2005, 10:35
    #33172736
SeraTJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка оконных сообщений
Либо ты должен объявить эту функцию как static-член:

static LRESULT CALLBACK MainWndProc(...);
...
Рейтинг: 0 / 0
19.07.2005, 10:55
    #33172793
SeraTJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка оконных сообщений
Дело в том, что функция WndProc должна иметь определенный набор параметров (сам знаешь какой), а функция-член класса на самом деле всегда преобразуется в такую:

void CClass::Function( CClass* this, ... );

Поэтому-то функция WndProc должна быть за пределами класса, либо должна быть статической.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Обработка оконных сообщений / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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