Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
Гость
Сообщений: n/a
#1

Указатель на функцию член - C++

13.11.2006, 19:17. Просмотров 2664. Ответов 1
Метки нет (Все метки)

Вот урезаный донельзя код:

class Window
{

public:

...

bool registerClassEx()
{
WNDCLASSEX wcx;
...

wcx.lpfnWndProc = &Window:roc;

...

}


LRESULT CALLBACK proc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
...
}

};

В общем, те, кто знаком с Win32 поймут что я хочу сделать.

Объясню в чем проблема:

В wcx.lpfnWndProc должен лежать указатель на функцию обработки сообщения, эта функция и есть функция proc, но как же достать её адрес, когда я нахожусь в функции registerClassEx() ???

Просто proc компилятор не съедает, &Window:roc съедает, но не может привести

LRESULT (__stdcall Window::* )(HWND,UINT,WPARAM,LPARAM)

к типу LRESULT (__stdcall *)(HWND,UINT,WPARAM,LPARAM)

а именно это мне и надо.

Но как это сделать?!

Проблема решается, если сделать proc статичной (static), но это мне не подходит.

Помогите пожалуйста!
Уже несколько часов не могу ничего с этим поделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2006, 19:17     Указатель на функцию член
Посмотрите здесь:

Указатель на функцию - член класса. C++
C++ указатель на член в массиве
C++ В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель
Указатель на функцию-член C++
C++ Указатель на функцию-член
C++ std::bind и указатель на статическую функцию член класса
указатель на функцию-член! C++
Указатель на функцию-член C++
Как создать указатель на функцию-член класса и вызвать его? C++
C++ Указатель на член структуры/класса
Указатель на функцию-член класса C++
Указатель на фунцкию-член C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Гость
Сообщений: n/a
13.11.2006, 19:19     Указатель на функцию член #2
Вроде теперь без смайликов

Цитата Сообщение от незарегистрированный Посмотреть сообщение
Вот урезаный донельзя код:

class Window
{

public:

...

bool registerClassEx()
{
WNDCLASSEX wcx;
...

wcx.lpfnWndProc = &Window:: proc;

...

}


LRESULT CALLBACK proc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
...
}

};

В общем, те, кто знаком с Win32 поймут что я хочу сделать.

Объясню в чем проблема:

В wcx.lpfnWndProc должен лежать указатель на функцию обработки сообщения, эта функция и есть функция proc, но как же достать её адрес, когда я нахожусь в функции registerClassEx() ???

Просто proc компилятор не съедает, &Window:: proc съедает, но не может привести

LRESULT (__stdcall Window::* )(HWND,UINT,WPARAM,LPARAM)

к типу LRESULT (__stdcall *)(HWND,UINT,WPARAM,LPARAM)

а именно это мне и надо.

Но как это сделать?!

Проблема решается, если сделать proc статичной (static), но это мне не подходит.

Помогите пожалуйста!
Уже несколько часов не могу ничего с этим поделать.
Yandex
Объявления
13.11.2006, 19:19     Указатель на функцию член
Ответ Создать тему
Опции темы

Текущее время: 22:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru