各位好!
我在做一个画板程序。现在遇到难题请你不吝赐教。
我画直线时用CPen类, 故用
Pen.DeleteObject();
Pen.CreatePen(PenStyle,PenWild,m_colors);
所以我可以通过改变PenWild 和 m_colors来改变画笔的宽度和颜色,当我画多边形时我用:
CClientDC dc(this);
dc.Rectangle(StartPt,EndPt);
可我如果想改变所画多边形的线宽和色彩时,又该如何做呢??
请多指教,谢了!
我在做一个画板程序。现在遇到难题请你不吝赐教。
我画直线时用CPen类, 故用
Pen.DeleteObject();
Pen.CreatePen(PenStyle,PenWild,m_colors);
所以我可以通过改变PenWild 和 m_colors来改变画笔的宽度和颜色,当我画多边形时我用:
CClientDC dc(this);
dc.Rectangle(StartPt,EndPt);
可我如果想改变所画多边形的线宽和色彩时,又该如何做呢??
请多指教,谢了!
Res
Draws a rectangle using the current pen. The interior of the rectangle is filled using the current brush.
...
dc.SelectObject( &yourpen );
class CMyRect:public CObject
{
public:
CMyRect();
~CMyRect();
CRect m_rectDraw; // <<----
REFCOLOR m_colPen; // 色彩
UINT m_nPenWidth; // 线宽
UINT m_nStyle; // 线型
UINT m_nDrawMode; // 绘图模式--光栅操作码
void DrawRect(CDC *pDC);
virtual void Serialize(CArchive &ar);// <<----!!!
DECLARE_SERIAL(CMyRect)
}void CMyRect::DrawRect(CDC *pDC)
{
CPen pen,*open;
pen.CreatePen(m_nStyle,m_nPenWidth,m_colPen);
open=pDC->SelectObject(&pen);
pDC->SetROP2(m_nDrawMode);
pDC->Rectangle(m_nrectDraw);
pDC->SelectObject(open);
pen.DelecteObject();
}