У меня есть следующий код 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;
}
Но, когда я пытаюсь скомпилировать, я получаю следующую ошибку:
Но это не работает. Он не сообщает об ошибке, но просто не показывает правильный результат.
Это моя форма printscreen:
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;
}
Других решений пока нет …