Раньше я создавал оболочку win32, но потерял файлы ... Так что я собираюсь создать их снова.Проблема в моем маршрутизаторе (процессор статического окна).
Вот мой код
CFramework *wnd = 0;
// retrieve associated Window instance
wnd = reinterpret_cast<CFramework *>(::GetWindowLongPtr(hWnd, GWL_USERDATA));
// call the windows message handler
wnd->WndProc(hWnd, msg, wParam, lParam);
return true;
Когда я звоню GetWindowLongPtr
, он не получает данные пользователя.
ОБНОВЛЕНИЕ:
Я также устал от этого кода, который использует SetWindowLongPtr
if ( msg == WM_CREATE )
{
SetWindowLongPtr( hWnd, GWLP_USERDATA, (LONG)((CREATESTRUCT *)lParam)->lpCreateParams );
}
Window *targetApp = (Window*)GetWindowLongPtr( hWnd, GWLP_USERDATA );
if ( targetApp )
{
return targetApp->WndProc( hWnd, msg, wParam, lParam );
}
return DefWindowProc( hWnd, msg, wParam, lParam );
Я использовал свой второй код. ^^^^
Я поставил точку останова в SetWindow ... Кажется, это никогдаПозвони!