我正在尝试在不可见的 HWND 上绘制半透明矩形。但是,清除窗口ID2D1HwndRenderTarget::Clear
只会使整个窗口变黑,所以当我在顶部绘制矩形时,它们看起来是半黑色的。
如果我不清除()并且不绘制,那么窗口应该是不可见的。Clear() 是这里的罪魁祸首;但是,如果我不使用它,那么绘画就会非常糟糕。
这是我在 WindowProc 中使用的代码:
case WM_PAINT:
// Begin drawing
pRenderTarget->BeginDraw();
pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity());
// Clear the window
pRenderTarget->Clear();
// Paint the panel and its children
D2DSurface()->StartPainting();
{
D2DSurface()->PaintTraverse(panel);
}
D2DSurface()->FinishPainting();
// Finish drawing
HRESULT hr = plat->pRenderTarget->EndDraw();
提前致谢!