问题描述
- 请教一个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,放在前面会出现,画快了成虚线了的情况
请问下是什么原理呀?
解决方案
划线那段是从上次的点的位置滑道这次点的位置,既从pt画到point,你把pt在前面赋值了岂不是上次点的位置和这次点的位置一样了。
解决方案二:
pt = point;这个用来为下次划线保存一个划线的起点,当然是先划线,再设置,否则它被 point 覆盖了。
解决方案三:
MoveTo 只需在LBUTTONDOWN 调用就可以了 之后全是LineTo就行了
时间: 2024-11-02 17:03:16