2 liangge1990 liangge1990 于 2014.04.18 10:36 提问

MFC绘制散点图后,要求鼠标可对绘制的点进行移动
mfc

现在用MFC绘制了一个散点图,但是需要在图上对绘制的点进行操作,主要是按下鼠标可以移动这些点的位置,并改变该点的数据值,有大神会吗,非常感谢!

2个回答

qq_27976105
qq_27976105   2016.09.20 11:17

从pudn下的程序

图片说明
同问~~
参考孙鑫第11章建了个CPtrArray,要对“历史”点修改大概就是 CPtrArray.m_Origin=point;这样子,但是不知道状态是怎样确定的。
按下工具栏“选择“按钮,鼠标按下,显示控制点,单击(模糊?选择 )改动?

qq_27976105
qq_27976105   2016.11.02 14:14

我实现 了自己需要的目标,不知道是否有参考作用。
1、CPoint Points[100];//在看Ruminations on C++,对此行为形容为arbitrary。先将就着。
2、判断鼠标单击次数int LButtonDownTimes;初始化LButtonTimes=0;
CView::OnLButtonDown(UINT nFlags, CPoint point)
{
LButtonDownTimes++;
switch(LButtonDownTimes)
case 1:
fot(int i=0;i<CNT;i++)//CNT为散点个数
{
if(bool IsRgn)//当前point是否在Points[i]周围
{
//显示选中点
//获得i,Index=i。
}
}
case 2:
{
Points[Index]=point;
//重绘。
}

}

Csdn user default icon
上传中...
上传图片
插入图片