MFC单文档中怎样实现清除所画的图形!
3个回答
2015-08-05 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464978
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
可以利用函数SetROP2:
CPoint m_ptBegin; //起始点
CPoint m_ptOrigon; //前一个点
OnLButtonDown中
m_ptBegin = m_ptOrigon = point;
OnMouseMove中
CClientDC dc(this);
CPen pen;
pen.CreatePen(PS_SOLID,1,RGB(255,0,0));
CPen * pOldPen = dc.SelectObject(&pen);
if(point != m_ptOrigon)
{
dc.SetROP2(R2_NOTXORPEN);
dc.MoveTo(m_ptBegin);
dc.LineTo(m_ptOrigon);
dc.MoveTo(m_ptBegin);
dc.LineTo(point);
m_ptOrigon = point;
}
CPoint m_ptBegin; //起始点
CPoint m_ptOrigon; //前一个点
OnLButtonDown中
m_ptBegin = m_ptOrigon = point;
OnMouseMove中
CClientDC dc(this);
CPen pen;
pen.CreatePen(PS_SOLID,1,RGB(255,0,0));
CPen * pOldPen = dc.SelectObject(&pen);
if(point != m_ptOrigon)
{
dc.SetROP2(R2_NOTXORPEN);
dc.MoveTo(m_ptBegin);
dc.LineTo(m_ptOrigon);
dc.MoveTo(m_ptBegin);
dc.LineTo(point);
m_ptOrigon = point;
}
2013-11-19
展开全部
你是在Ondrow()写画图函数么?
可以用
*****::Ondraw( pDC *pdc)
{
if(i==0)
Invalidate(TRUE); ·······刷新屏幕
}
在菜单栏新建按钮,再新建消息响应函数Onclear()
void C点,圆,矩形View::Onclear()
{
i=0; ············i 为****view 类的公有成员
CDC dc; ``````````
OnDraw(&dc); ````````调用Ondraw()函数
Invalidate(TRUE); ·······刷新屏幕
}
思路是这样,不要复制粘贴,字体错误的~
不知是否适用你的代码呢,
可以用
*****::Ondraw( pDC *pdc)
{
if(i==0)
Invalidate(TRUE); ·······刷新屏幕
}
在菜单栏新建按钮,再新建消息响应函数Onclear()
void C点,圆,矩形View::Onclear()
{
i=0; ············i 为****view 类的公有成员
CDC dc; ``````````
OnDraw(&dc); ````````调用Ondraw()函数
Invalidate(TRUE); ·······刷新屏幕
}
思路是这样,不要复制粘贴,字体错误的~
不知是否适用你的代码呢,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-19
展开全部
可以用Invalidate()函数,将整个绘图区域刷新一下.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询