Example #1
0
LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    if (ImGui_ImplDX10_WndProcHandler(hWnd, msg, wParam, lParam))
        return true;

    switch (msg)
    {
    case WM_SIZE:
        if (g_pd3dDevice != NULL && wParam != SIZE_MINIMIZED)
        {
            ImGui_ImplDX10_InvalidateDeviceObjects();
            CleanupRenderTarget();
            g_pSwapChain->ResizeBuffers(0, (UINT)LOWORD(lParam), (UINT)HIWORD(lParam), DXGI_FORMAT_UNKNOWN, 0);
            CreateRenderTarget();
            ImGui_ImplDX10_CreateDeviceObjects();
        }
        return 0;
    case WM_SYSCOMMAND:
        if ((wParam & 0xfff0) == SC_KEYMENU) // Disable ALT application menu
            return 0;
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hWnd, msg, wParam, lParam);
}
Example #2
0
LRESULT WINAPI DetourDefWindowProc(
	_In_ HWND hWnd,
	     _In_ UINT Msg,
	     _In_ WPARAM wParam,
	     _In_ LPARAM lParam
)
{
	static boost::once_flag flag = BOOST_ONCE_INIT;
	boost::call_once(flag, boost::bind(&logOnce, "++ USER32!DefWindowProc called"));

	if (!g_hWnd)
	{
		g_hWnd = hWnd;
	}

	ImGui_ImplDX9_WndProcHandler(hWnd, Msg, wParam, lParam);
	ImGui_ImplDX10_WndProcHandler(hWnd, Msg, wParam, lParam);
	ImGui_ImplDX11_WndProcHandler(hWnd, Msg, wParam, lParam);

	return OriginalDefWindowProc(hWnd, Msg, wParam, lParam);
}