Je tente d'apprendre à créer des fenêtres en C++, j'ai regardé un article sur la création d'une classe wrapper mais je ne le comprends pas vraiment. Jusqu'à présent, je sais que vous ne pouvez pas avoir une méthode de classe WndProc (je ne sais pas pourquoi) mais honnêtement, c'est tout. Quelqu'un peut-il donner une explication, expliquant aussi le reinterpret_cast? Here est l'article.Window Wrapper Classe 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);
}
Merci d'avance, ell.