Hsin_Tsao 2017-12-28 12:58 采纳率: 50%
浏览 1949
已结题

SetROP2 实现橡皮绳功能

我在利用 SetROP2时,这么写不能得到想要的效果,它会产生路径,但的确是有部分线
被重画掩盖了。麻烦大家看看!

鼠标移动响应:
if (pDrawObj->m_ptStart.x != -1 )
{

oldPen = dc.SetROP2(R2_NOTXORPEN);
pDrawObj->DrawSelf(dc);
pDrawObj->SetEndPoint(point);
pDrawObj->DrawSelf(dc);

dc.SetROP2 (oldPen); //还原
}

绘画:
```void CDrawShape::DrawSelf(CClientDC pDC)
{
CPen NewPen;
HPEN op;
NewPen.CreatePen(PS_SOLID, 2, RGB(0,0,0));
op = pDC.SelectPen(NewPen.m_hPen);

switch (m_ShapeType)
{
case 1:
    pDC.MoveTo(m_ptStart.x,m_ptStart.y,NULL);
    pDC.LineTo(m_ptEnd.x,m_ptEnd.y);

    break;
case 2:
    pDC.Ellipse(m_ptStart.x,m_ptStart.y,m_ptEnd.x,m_ptEnd.y);
    break;
}

pDC.SelectPen(op);

}

![
图片说明](https://img-ask.csdn.net/upload/201712/28/1514465617_88349.png)
  • 写回答

2条回答

  • threenewbee 2017-12-28 15:38
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿