Как извлечь адрес функции-члена ??
От: S.T.A.L.I.N  
Дата: 01.12.07 20:44
Оценка:
Здравствуйте.

Я пишу свой враппер для ВИНАПИ.
Вот какая проблема возникла у меня с классом окна:

/============================================ window.h =================================================
// general main window class
class wnd {
HWND hWnd; // хэндл окна
WNDCLASSEX wc;
....
public:
wnd(HINSTANCE hInst, int nCmdShow, LPCSTR lpCapt,
unsigned int uiLeft, unsigned int uiTop,
unsigned int uiWidth, unsigned int uiHeight); // конструктор

....
};

// оконная процедура
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // TODO не получилось вставить оконную процедуру как член класса,
// т.к. косячит ПРИСВАИВАНИЕ wc.lpfnWndProc = WndProc в КОНСТРУКТОРЕ;


/============================================= window.cpp ===================================================

// конструктор
wnd::wnd(HINSTANCE hInst, int nCmdShow, LPCSTR lpCapt,
unsigned int uiLeft, unsigned int uiTop,
unsigned int uiWidth, unsigned int uiHeight)
{
// инициализация

....

// собираем структуру wc

....
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WndProc; // вот здесь будет ошибка, если сделать WndProc функцией-членом класса wnd
wc.cbClsExtra = 0;

....


Как сделать WndProc членом класса wnd и при этом правильно присвоить адрес функции обработки сообщений в wc.lpfnwndproc ??????????
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.