开发环境为VC,如何在客户区绘制一条实时的动态曲线
具体要求就是在OnLButtonDown调用时,开始绘制.按住鼠标左键,调用OnMouseMove,实时绘制,最后调用OnLButtonUp,绘制结束....
具体要求就是在OnLButtonDown调用时,开始绘制.按住鼠标左键,调用OnMouseMove,实时绘制,最后调用OnLButtonUp,绘制结束.
展开
2个回答
展开全部
这个也不难啊。
加一个标记bool is_down; CPoint old;
左键按下:is_down = true; old = point; (OnLButtonDown有个参数point)
鼠标移动:
if(is_down)
{
CDC *dc = GetDC(); dc->MoveTo(old); dc->LineTo(point); dc->ReleaseDC();
}
左键松开:
is_down = false;
OK了。只是界面刷新后,这些就都不存在了。注意:这三个函数都有一个CPoint参数。
如果这个point是相对于屏幕的话,就需要转换ScreenToClient(&point);
加一个标记bool is_down; CPoint old;
左键按下:is_down = true; old = point; (OnLButtonDown有个参数point)
鼠标移动:
if(is_down)
{
CDC *dc = GetDC(); dc->MoveTo(old); dc->LineTo(point); dc->ReleaseDC();
}
左键松开:
is_down = false;
OK了。只是界面刷新后,这些就都不存在了。注意:这三个函数都有一个CPoint参数。
如果这个point是相对于屏幕的话,就需要转换ScreenToClient(&point);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询