VC++6.0中MFC怎么实现画圆画直线和画椭圆

 我来答
百度网友2018359
2018-05-19 · TA获得超过3494个赞
知道大有可为答主
回答量:3486
采纳率:73%
帮助的人:1433万
展开全部

这样?

追问
其实我想知道代码是怎样的
追答
//增加两个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);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式