qq_29670983
2015-08-21 10:11
采纳率: 43.1%
浏览 2.0k

请教一个MFC函数里鼠标画线的问题

void C3Dlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值

if (nFlags == MK_LBUTTON)
{
    dc->MoveTo(pt);
    dc->LineTo(point.x , point.y );

}
pt = point;
CDialogEx::OnMouseMove(nFlags, point);

}
请问下这个程序如果把 PT=POINT,放在前面会出现,画快了成虚线了的情况
请问下是什么原理呀?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 纵横车 2015-08-21 10:24

    划线那段是从上次的点的位置滑道这次点的位置,既从pt画到point,你把pt在前面赋值了岂不是上次点的位置和这次点的位置一样了。

    评论
    解决 无用
    打赏 举报
  • threenewbee 2015-08-21 10:45

    pt = point;这个用来为下次划线保存一个划线的起点,当然是先划线,再设置,否则它被 point 覆盖了。

    评论
    解决 无用
    打赏 举报
  • 零度永恒 2015-08-23 07:35

    MoveTo 只需在LBUTTONDOWN 调用就可以了 之后全是LineTo就行了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题