WINAPI:窗口客户区没有与窗口对齐

时间:2017-10-18 13:17:08

标签: c winapi

我窗口的客户区未与外部非客户区正确对齐。看看,就在我没有碰到窗户的时候,就在我启动它之后:

image

它没有对齐,尽管所有功能的所有尺寸都可以,确切地说是500x500。

现在,当我调整它的大小时,它有点正确对齐:

image

HWND Window = CreateWindowEx(
            0,
            WindowClass.lpszClassName,
            "Handmade Hero",
            WS_OVERLAPPED | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_VISIBLE,
            CW_USEDEFAULT,
            CW_USEDEFAULT,
            500,
            500,
            0,
            0,
            Instance,
            0);


        RECT rect;
        GetClientRect(Window, &rect);
        Win32AllocateMemoryBuffer(&GlobalBackBuffer, rect.right, rect.bottom);

消息处理:

case WM_PAINT:
        {
            PAINTSTRUCT Paint;
            HDC DeviceContext = BeginPaint(Window, &Paint);
            Dimension rect;
            GetClientRect(Window, &rect);

            Win32DisplayBufferInWindow(DeviceContext, &GlobalBackBuffer, Dimension.right, Dimension.bottom);
            EndPaint(Window, &Paint);
        } break;

stretchdbits:

    StretchDIBits(DeviceContext,
        0, 0, WindowWidth, WindowHeight,
        0, 0, Buffer->BitmapWidth, Buffer->BitmapHeight,
        Buffer->BitmapMemory,
        &Buffer->BitmapInfo,
        DIB_RGB_COLORS, SRCCOPY);

我一直在跟踪VS调试器中所有程序的维度,但无法跟踪问题。也许你的直觉会发现什么?

0 个答案:

没有答案
相关问题