C++로 창을 만드는 법을 배우려하고 있는데 래퍼 클래스를 만드는 방법에 대한 기사를 보았지만 실제로 이해하지는 못합니다. 지금까지 나는 당신이 클래스 메소드 WndProc을 가질 수 없다는 것을 안다. (나는 왜 그런지 모른다.) 솔직히 말해서, 그것은 모두 다. 누군가 reinterpret_cast를 설명하면서 설명을 해줄 수 있습니까? Here이 기사입니다.Window Wrapper 클래스 C++ (G ++)
LRESULT CALLBACK Window::MsgRouter(HWND hwnd, UINT message,
WPARAM wparam, LPARAM lparam)
{
Window *wnd = 0;
if(message == WM_NCCREATE)
{
// retrieve Window instance from window creation data and associate
wnd = reinterpret_cast<Window *>((LPCREATESTRUCT)lparam)->lpCreateParams;
::SetWindowLong(hwnd, GWL_USERDATA, reinterpret_cast<long>(wnd));
// save window handle
wnd->SetHWND(hwnd);
}
else
// retrieve associated Window instance
wnd = reinterpret_cast<Window *>(::GetWindowLong(hwnd, GWL_USERDATA));
// call the windows message handler
wnd->WndProc(message, wparam, lparam);
}
미리 감사드립니다.