2014-12-20 218 views
1

MFC/GDI大師的另一個繪圖問題在那裏...... :-)如何繪製圓角矩形而不填充(在MFC中)?

我正在使用MFC,我正在做一些繪圖與CDC對象。這工作正常。

但是現在我想繪製一個帶圓角的矩形,這條線的寬度爲幾個像素。但我不想要發生任何填充!有一種方法CDC :: RoundRect - 我只需設置我想要的筆,並用該筆獲得美麗的圓角矩形。但是CDC :: RoundRect也使用當前畫筆填充矩形。

有沒有什麼辦法只畫線,沒有填充?任何其他方法我沒有找到?或者我可以創建某種不會改變矩形中間內容的「空刷」?

我非常感謝一些好的建議!

/安德斯來自瑞典

回答

7

繪製圓角矩形之前只需選擇一個空刷,像

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); 
+0

啊 - 有一個NULL_BRUSH。正在尋找,並沒有找到它。謝謝! :-) – UglySwede