m_isUp 保存是否抬起鼠标
m_startPoint 保存鼠标起点位置
void CDlg_DCTest1::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this);
m_isUp = false;
m_startPoint = point;
//dc.MoveTo(point);
CDialog::OnLButtonDown(nFlags, point);
}
void CDlg_DCTest1::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_isUp = true;
CDialog::OnLButtonUp(nFlags, point);
}
void CDlg_DCTest1::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if (!m_isUp)
{
CClientDC dc(this);
dc.MoveTo(m_startPoint);
//dc.MoveTo(80, 80); //如果固定起点,会画出扇形
dc.LineTo(point);
m_startPoint = point;
}
CDialog::OnMouseMove(nFlags, point);
}
本文介绍了一个简单的Windows对话框类CDlg_DCTest1中的鼠标操作监听实现。包括按下、抬起及移动时的操作,通过成员变量记录鼠标状态和起始位置,并在鼠标移动时绘制线条。
495

被折叠的 条评论
为什么被折叠?



