私はDwmExtendFrameIntoClientArea()
、 ウィンドウをホストしています。他の子ウィンドウをホストしています.Direct2Dを使用して子ウィンドウの1つにペイントします。 ビットマップがその上に黒色の領域があり、その領域がぼやけてしまいます。 子ウィンドウ内のすべてをクリアして、再度WM_PAINT
にペイントしたいのですが、内容をクリアできないようです。ぼかし後のウィンドウ(DWM)でウィンドウの内容を消去する
私はそれがすべての以前の描画、ない透明性を消去し、これは、子ウィンドウ領域が黒になり
m_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::Black))
使用して、それをクリアしようとしています。
私は、クライアント領域
m_pRenderTarget->DrawBitmap(m_pBkgrnd,D2D1::Rect<float> (0.f,0.f,GetWidth(),GetHeight()))
これは黒で、それはそれの前に現れていたものは何でも作る超えるだけの黒いバーでビットマップを描画しようとしています。
は
RECT rc; GetClientRect(m_hwnd, &rc); HBRUSH brush = CreateSolidBrush(RGB(0,0,0)); HDC hc=GetDC(m_hwnd); FillRect(hc, &rc, brush); ReleaseDC(m_hwnd,hc); DeleteObject(brush);
が動作しない、全体で子ウィンドウの上に黒領域を塗るの古いGDIの方法を試してみました。
しかし、これを行わずにメインウィンドウのサイズを変更しようとすると、正しく動作します。すなわち、以前のペインティングが消えてしまいます。
もう一度描画する前にAPI呼び出しまたは手動でウィンドウを消去する方法はありますか?