0

我有以下 C++ 代码:

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    bool fCallDWP = true;
    BOOL fDwmEnabled = FALSE;
    LRESULT lRet = 0;
    HRESULT hr = S_OK;

    MARGINS margins;

    margins.cxLeftWidth = 10;      // 8
    margins.cxRightWidth = 10;    // 8
    margins.cyBottomHeight = 10; // 20
    margins.cyTopHeight = 50;       // 27

    hr = DwmExtendFrameIntoClientArea(hWnd, &margins);
    return 0;
}

但是,当我尝试编译时,出现以下错误:

但它不起作用。它不报告任何错误,但它根本不显示正确的结果。

这是我的表单打印屏幕:

在此处输入图像描述

4

1 回答 1

0
case WM_ACTIVATE: {
    DwmExtendFrameIntoClientArea(hWnd,&margins);
    break;
}
case WM_ERASEBKGND: {
    // I think your window's transparency key should be RGB(0,0,0)
    FillRect((HDC)wParam,&WndRect,CreateSolidBrush(RGB(0,0,0)));
    return TRUE;
}
于 2015-07-24T10:50:08.240 回答