VC++6.0中MFC怎么实现画圆画直线和画椭圆
1个回答
追问
其实我想知道代码是怎样的
追答
//增加两个button控件
//全局变量:
int m_type;
POINT pt1,pt2;
CDC* pdc=NULL;
//在OnInitDlg中:
m_type=1;
pt1.x=-1;
pt2.x=-1;
//在OnButton1()中
m_type=1;
//在OnButton2()中
m_type=2;
//增加WM_LBUTTONDOW消息处理
if(pdc==NULL)
{
pdc=GetDC();
pdc=SetROP2(R2_NOTXORPEN);
}
if(pt1.x==-1)
{
pt1.x=point.x;
pt1.y=point.y;
}
else
{
pt2.x=point.x;
pt2.y=point.y;
}
//增加WM_LBUTTONUP消息处理
pt1.x=-1;
pt2.x=-1;
//增加WM_MOUSEMOVE消息处理
if(pt1.x==-1)
{
return;
}
if(m_type==1)
{
if(pt2.x!=-1)
{
pdc->MoveTo(pt1);
pdc->LineTo(pt2);
}
pt2.x=point.x;
pt2.y=point.y;
pdc->MoveTo(pt1);
pdc->LineTo(pt2);
}
else if(m_type==2)
{
if(pt2.x!=-1)
{
pdc->Ellipse(pt1.x,pt1.y,pt2.x,pt2.y);
}
pt2.x=point.x;
pt2.y=point.y;
pdc->Ellipse(pt1.x,pt1.y,pt2.x,pt2.y);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询