16,472
社区成员
发帖
与我相关
我的任务
分享
void CChildView::OnPaint()
{
CPaintDC dc(this);
CRect rect(mouseStart,mouseEnd);
CPen pen;
CBrush brush;
ColorCtrl();
int type =0; type = dlg.Pass_type();
int color=0; color = dlg.Pass_color();
struct painta{
int strx;
int stry;
int endx;
int endy;
int tp;
int cl;
};
struct painta saver[200];
int i=0;
switch(type){
case 0:
break;
case 1:{
CPen pen(PS_SOLID, 2, RGB(co1, co2, co3));
CPen *pOldPen=dc.SelectObject(&pen);
dc.MoveTo(mouseStart);
dc.LineTo(mouseEnd);
break;
}
case 2:{
CPen pen(PS_SOLID, 2, RGB(co1, co2, co3));
CPen *pOldPen=dc.SelectObject(&pen);
CBrush brush(RGB(co1, co2, co3));
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.SelectObject(pOldBrush);
dc.Rectangle(rect);
break;
}
case 3:{
CPen pen(PS_SOLID, 2, RGB(co1, co2, co3));
CPen *pOldPen=dc.SelectObject(&pen);
CBrush brush(RGB(co1, co2, co3));
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.SelectObject(pOldBrush);
dc.Ellipse(rect);
break;
}
case 4:{
break;
}
case 5:{
Invalidate(TRUE);
break;
}
}
saver[i].strx = mouseStart.x;
saver[i].stry = mouseStart.y;
saver[i].endx = mouseEnd.x;
saver[i].endy = mouseEnd.y;
saver[i].tp = type;
saver[i].cl = color;
i++;
}