@wajsic Можете ли вы воспроизвести проблему, используя мой пример кода? В противном случае похоже, что ваш код рисования DirectX либо не заполняет всю клиентскую область, либо альфа-канал не является непрозрачным.

аюсь добиться чего-то похожего на то, что делает установщик Visual Studio с окном без полей и тенью:

Я пробовал различные варианты, такие какCS_DROPSHADOW и DWM API, но как только я применюWS_THICKFRAME стиль тени исчезает.

Это мой код для создания и центрирования окна:

RECT R = {0, 0, _clientWidth, _clientHeight};
AdjustWindowRect(&R, WS_OVERLAPPEDWINDOW, false);
_mainWnd = CreateWindow(L"D3DWndClassName", _mainWndCaption.c_str(), WS_OVERLAPPEDWINDOW, 100, 100, R.right, R.bottom, nullptr, nullptr, _appInst, nullptr);

if(!_mainWnd){
    MessageBox(nullptr, L"CreateWindow FAILED", nullptr, 0);
    PostQuitMessage(0);
}

RECT rc;

GetWindowRect(_mainWnd, &rc);

LONG lStyle = GetWindowLong(_mainWnd, GWL_STYLE);
lStyle &= ~(WS_CAPTION | WS_THICKFRAME | WS_MINIMIZE | WS_MA,XIMIZE | WS_SYSMENU );
SetWindowLong(_mainWnd, GWL_STYLE, lStyle);


int xPos = (GetSystemMetrics(SM_CXSCREEN) - rc.right) / 2;
int yPos = (GetSystemMetrics(SM_CYSCREEN) - rc.bottom) / 2;

SetWindowPos(_mainWnd, 0, xPos, yPos, _clientWidth, _clientHeight, SWP_NOZORDER);

ShowWindow(_mainWnd, SW_SHOW);
UpdateWindow(_mainWnd);

Ответы на вопрос(1)

Ваш ответ на вопрос