MFC / GDI大师的另一个绘图问题在那里… 🙂
我正在使用MFC,我正在做一些与CDC对象的绘图。 这工作正常。
但是现在我想绘制一个圆angular的矩形,这条线的宽度是几个像素。 但我不想要发生任何填充! 有一种方法CDC :: RoundRect – 我只是设置我想要的笔,并获得与该笔美丽的圆angular矩形。 但是CDC :: RoundRect也使用当前画笔填充矩形。
有没有什么办法可以画出线条,没有填充? 任何其他方法,我还没有find? 或者我可以创build一些不会改变矩形中间内容的“null brush”?
我会很感激一些好的build议!
/来自瑞典的Anders
只需在绘制圆角矩形之前选择一个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);