该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
LONG user_data = GetWindowLong(hWnd, GWL_USERDATA); // Load The Application Class Context
if (user_data == 0)
{ // Application Class Context Not Available
if (uMsg == WM_CREATE) // Evaluate Window Message
{ // Window Creation Message Received
// Get Window Structure Pointer Which Contains The Application Class Context
CREATESTRUCT * creation = reinterpret_cast(lParam);
// Get The Application Class Context
GL_Application * appl = reinterpret_cast(creation->lpCreateParams);
// Store The Application Class Context
SetWindowLong(hWnd, GWL_USERDATA, reinterpret_cast(appl));
appl->m_IsVisible = true; // Set Visible To true
return 0; // Return
}
}
else
{ // Get The Application Class Context
GL_Application * appl = reinterpret_cast(user_data);
return appl->Message(hWnd, uMsg, wParam, lParam); // Call Class Message Handler
}
return DefWindowProc(hWnd, uMsg, wParam, lParam); // Pass Unhandled Messages To DefWindowProc
}