橡皮筋算法
2013-06-04 19:29
513 查看
橡皮筋技术,有三个过程:
1. 鼠标左键按下:记录起始点。
2. 鼠标移动:画出从起始点到现有点的直线,并删除上一条直线。
3. 鼠标左键松开:画出起始点到现有点的直线。
我是通过取反操作来进行的:
dc.SetROP2(R2_NOT);
过程一:
void Cdraw_line_rubber_band_skillView::OnMButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
flag = true;
m_ptOld = m_ptOrigin = point;
CView::OnMButtonDown(nFlags, point);
}
过程二:
void Cdraw_line_rubber_band_skillView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(flag) {
CClientDC dc(this);
dc.SetROP2(R2_NOT);
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptOld);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
m_ptOld = point;
CView::OnMouseMove(nFlags, point);
}
}
过程三:
void Cdraw_line_rubber_band_skillView::OnMButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
flag = false;
CClientDC dc(this);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
CView::OnMButtonUp(nFlags, point);
}
转自:http://blog.csdn.net/shuimu12345678/article/details/8043169
1. 鼠标左键按下:记录起始点。
2. 鼠标移动:画出从起始点到现有点的直线,并删除上一条直线。
3. 鼠标左键松开:画出起始点到现有点的直线。
我是通过取反操作来进行的:
dc.SetROP2(R2_NOT);
过程一:
void Cdraw_line_rubber_band_skillView::OnMButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
flag = true;
m_ptOld = m_ptOrigin = point;
CView::OnMButtonDown(nFlags, point);
}
过程二:
void Cdraw_line_rubber_band_skillView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(flag) {
CClientDC dc(this);
dc.SetROP2(R2_NOT);
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptOld);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
m_ptOld = point;
CView::OnMouseMove(nFlags, point);
}
}
过程三:
void Cdraw_line_rubber_band_skillView::OnMButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
flag = false;
CClientDC dc(this);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
CView::OnMButtonUp(nFlags, point);
}
转自:http://blog.csdn.net/shuimu12345678/article/details/8043169
相关文章推荐
- 动易2006序列号破解算法公布
- C#数据结构与算法揭秘二
- JavaScript 组件之旅(二)编码实现和算法
- 将15位身份证补全为18位身份证的算法示例详解
- C++算法系列之日历生成的算法代码
- 1 2 3 4 5 6 7 8 9 = 110的java实现
- Sedgewick之巨著《算法》,与高德纳TAOCP一脉相承
- 【代码】Pythonの代码片段
- 数据结构&算法学习
- 算法的时间复杂度
- 算法导论:选择排序的原理与实现
- PHP实现四种常用的排序算法
- 图解插入排序算法
- 一些常见算法的JavaScript实现
- 平方根sqrt()函数的底层算法效率
- 二叉搜索树的一些相关算法介绍
- 欧几里德算法(辗转相处法)练手
- 面试中常见的一些算法问题
- 计算机编程中一些重要的算法
- 合并排序算法解说与例子