3

MFC/GDI の達人に向けたもう 1 つの描画に関する質問... :-)

私は MFC を使用しており、CDC オブジェクトで描画を行っています。それはうまくいきます。

しかし今、角が丸い長方形を描きたいと思います。線は数ピクセル幅です。しかし、私は充填が発生したくありません! メソッド CDC::RoundRect があります。必要なペンを設定するだけで、そのペンで美しい角丸四角形を取得できます。ただし、CDC::RoundRect も現在のブラシで四角形を塗りつぶします。

塗りつぶさずに線だけを描く方法はありますか?私が見つけていない他の方法はありますか?または、長方形の真ん中にあるものを変更しないある種の「ヌルブラシ」を作成できますか?

良いアドバイスを頂けて大変助かりました!

/スウェーデン出身のアンダース

4

1 に答える 1

9

次のように、角丸長方形を描画する前に NULL ブラシを選択するだけです。

CPen pen;
CBrush* pOldBrush;
CPen* pOldPen;
if (!pen.CreatePenIndirect(&m_logpen))
    return;
pOldBrush = (CBrush*)pDC->SelectStockObject(NULL_BRUSH);
pOldPen = pDC->SelectObject(&pen);
pDC->RoundRect(m_rect, m_roundness);
pDC->SelectObject(pOldBrush);
pDC->SelectObject(pOldPen);
于 2014-12-21T08:54:48.850 に答える