我在用VC画矩形,圆形,线时,想改变画笔的颜色,用了以下函数
CPen p;
p.CreatePen(PS_SOLID,PS_GEOMETRIC,RGB(255,0,0));
pDC->SelectStockObject(NULL_BRUSH);
pDC->Rectangle(Start.x,Start.y,End.x,End.y);
可是为什么画出来的还是黑色的线?
我是菜鸟,请各位高手指教,最好写清楚些,多谢了!
CPen p;
p.CreatePen(PS_SOLID,PS_GEOMETRIC,RGB(255,0,0));
pDC->SelectStockObject(NULL_BRUSH);
pDC->Rectangle(Start.x,Start.y,End.x,End.y);
可是为什么画出来的还是黑色的线?
我是菜鸟,请各位高手指教,最好写清楚些,多谢了!
pDC->SelectStockObject(p);
CPen pen(PS_SOLID, 1, CopyColor), *oldpen;
int oldmode = pDC->GetROP2();
oldpen = pDC->SelectObject(&pen);
pDC->SetROP2(R2_COPYPEN); pDC->MoveTo(m_x1, m_y1);//移动当前绘图点为线段第一点
pDC->LineTo(m_x2, m_y2);//绘制直线 pDC->SelectObject(oldpen);
pDC->SetROP2(oldmode);
pen.DeleteObject();//释放笔资源
p.CreatePen(PS_SOLID,PS_GEOMETRIC,RGB(255,0,0)); //初始化画笔(红色)
pOldPen=pDC->SelectObject(&p); //把画笔选入DC,并保存原来画笔
pDC->Rectangle(Start.x,Start.y,End.x,End.y); //开始绘图
COLORREF CopyColor = RGB(???,???,???)//自己定义
CPen pen(PS_SOLID, 1, CopyColor), *oldpen;
oldpen = pDC->SelectObject(&pen); pDC->MoveTo(m_x1, m_y1);//移动当前绘图点为线段第一点
pDC->LineTo(m_x2, m_y2);//绘制直线 pDC->SelectObject(oldpen);
pen.DeleteObject();//释放笔资源
pDC->SelectObject(&ipen);
pDC->SetPixel(pa.x,pa.y,RGB(255,255,0));
p.CreatePen(PS_SOLID,PS_GEOMETRIC,RGB(255,0,0));
pDC->SelectObject(&p);
pDC->SelectStockObject(NULL_BRUSH);
pDC->Rectangle(Start.x,Start.y,End.x,End.y);