返回首页
当前位置: 主页 > 网络编程 > .Net实例教程 >

MFC实现橡皮筋画线(附带源码)

时间:2012-07-23 15:03来源:知行网www.zhixing123.cn 编辑:麦田守望者

前几天一个学妹问我一个关于她们实习的问题,其中的一个是说实现橡皮筋画线,当时给她讲了,感觉讲的不是蛮清楚,这里就以一个简单实例实现橡皮筋画线。所用环境:vc6,MFC。

实现这个其实并不是很难,关键在于两点——用户交互和橡皮筋技术

下面是实现过程。
 

int isPress=0;

CPoint start;

CPoint end;

将上述代码放在***View.cpp里面的开头部分(只要能在***View.cpp里面起控制全局的作用就行,例如放在#endif后面)

在***View.cpp里面用添加类向导将单击鼠标左键,鼠标移动和放开鼠标左键映射为相应的函数。并且添加以下代码
 

void CXiangpijinView::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

isPress=1;

start=point;

end=start;

CView::OnLButtonDown(nFlags, point);

}

void CXiangpijinView::OnMouseMove(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

CDC *pDC=this->GetWindowDC();

if (isPress)

{

pDC->SetROP2(R2_NOT);

pDC->MoveTo(start);

pDC->LineTo(end);

pDC->MoveTo(start);

pDC->LineTo(point);

end=point;

}

CView::OnMouseMove(nFlags, point);

}

void CXiangpijinView::OnLButtonUp(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

isPress=0;

CView::OnLButtonUp(nFlags, point);

}

运行一下,就可以实现基本的橡皮筋画直线了,什么?不能重绘,这个自己想办法~

还有什么问题可以留言,或者点击我博客右边的q我一下!还有关于SetROP2请看这里

效果图:
 

MFC实现橡皮筋画线(附带源码)
MFC实现橡皮筋画线(附带源码)
 

附件下载:点击这里下载

顶一下
(1)
100%
踩一下
(0)
0%
标签(Tag):C# C#实例教程 c#基础教程 C#源代码 c#技巧
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片