Я пишу свой враппер для ВИНАПИ.
Вот какая проблема возникла у меня с классом окна:
/============================================ 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 в КОНСТРУКТОРЕ;
// конструктор
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 ??????????