VC编画图板的时候怎么样鼠标左键抬起,停止画图并且保存已经画的东西?

来源:百度知道 编辑:UC知道 时间:2024/06/15 23:32:39
现在在用VC编一个画图板,遇到了一个问题
定义好函数变量 startpoint & endpoint
ONLBUTTONDOWN的函数为:
void CPaintView::OnLButtonDown(UINT nFlags, CPoint point)
{ SetCapture ();
startPoint.x = point.x;
startPoint.y = point.y;

CView::OnLButtonDown(nFlags, point);
}

运行之后点下左键就可以开始画图,因为左键抬起停止画图的函数不会写,所以停不下来

请教
void CPaintView::OnLButtonUp(UINT nFlags, CPoint point)
{

CView::OnLButtonUp(nFlags, point);
}

中间加什么可以让左键抬起时停止画图?
这样写还是不行啊

你还需要写OnMouseMove吧
void CPaintView::OnMouseMove(UINT nFlags, CPoint point)
{
if(bMouseDown) {
CDC* dc = GetDC(this);
dc->MoveTo(startPoint);
dc->LineTo(point);
startPoint = point;
}
}
void CPaintView::OnLButtonDown(UINT nFlags, CPoint point)
{
SetCapture ();
startPoint = point;
bMouseDown = true;
}
void CPaintView::OnLButtonUp(UINT nFlags, CPoint point)
{
ReleaseCapture ();
bMouseDown = false;
}

void CPaintView::OnLButtonUp(UINT nFlags, CPoint point)
{
ReleaseCapture ();
endpoint.x = point.x;
endpoint.y = point.y;

CView::OnLButtonUp(nFlags, point);
}
加一个BOOL的变量试一下