C++MFC最簡易畫板-移動鼠標畫線

命名文件爲LINE,在LINEView.cpp中打開類嚮導添加一個CPoint類型的變量mPrevPoint,用於存儲按下鼠標左鍵時上一個位置的點。
在這裏插入圖片描述
同樣在LINEView.cpp的類嚮導中,找到WM_LBUTTONDOWN和WM_MOUSEMOVE,點擊添加處理程序,完成後點擊確認應用。
在這裏插入圖片描述
對 CLINEView::OnLButtonDown和CLINEView::OnMouseMove函數進行定義。
在這裏插入圖片描述


void CLINEView::OnLButtonDown(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息處理程序代碼和/或調用默認值
	mPrevPoint = point;
	CView::OnLButtonDown(nFlags, point);
}


void CLINEView::OnMouseMove(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息處理程序代碼和/或調用默認值
	if ((nFlags & MK_LBUTTON) != 0)
	{
		auto PDC = GetDC();
		PDC->MoveTo(mPrevPoint);
		PDC->LineTo(point);
		mPrevPoint = point;
	}
	InvalidateRect(nullptr, false);
	CView::OnMouseMove(nFlags, point);
}

完成後點擊運行測試的結果如下。
在這裏插入圖片描述

以下是自己無聊寫了個建議的畫筆
可以實現增減線寬和改變畫筆的顏色
百度網盤鏈接
提取碼: 7aqc

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章