Я хочу сделать прозрачное окно с непрозрачными объектами внутри, и я использую этот код `
bool nBOOL = true;
HRESULT hr = S_OK;
LRESULT nRet = S_OK;
HRGN hRgnBlur = 0;
DWM_BLURBEHIND bb = {0};
// Create and populate the BlurBehind structure.
// Set Blur Behind and Blur Region.
bb.fEnable = nBOOL; //true
bb.dwFlags = DWM_BB_ENABLE | DWM_BB_BLURREGION;
bb.fTransitionOnMaximized = 0;
// Fool DWM with a fake region
if (nBOOL) { hRgnBlur = CreateRectRgn(-1, -1, 0, 0); }
bb.hRgnBlur = hRgnBlur;
// Set Blur Behind mode.
nRet = DwmEnableBlurBehindWindow(HWnd, &bb);
HBRUSH brush = CreateSolidBrush(RGB(0, 0, 255));
SetClassLongPtr(HWnd, GCLP_HBRBACKGROUND, (LONG_PTR)brush);
`
Проблема в том, что цель рендеринга использует метод getbackgroundcolor () при рисовании объектов и возвращает ноль или фон с альфа-0, что вызывает проблемы рендеринга (объекты не выглядят нормально).