VC绘图,先绘制一定点,然后用MoveTo,LineTo连成曲线,现在当鼠标左键点击原来点时,可以对其移动!
补充:先获取点的位置,然后能实现按住左键时移动该点,直到松开左键得到新位置,最后即将点移动左键弹起处,因为发现很多作图软件都有此功能,但在VC里面实现起来没有思路。请问哪...
补充:先获取点的位置,然后能实现按住左键时移动该点,直到松开左键得到新位置,最后即将点移动左键弹起处,因为发现很多作图软件都有此功能,但在VC里面实现起来没有思路。请问哪位高手做过类似的,应该如何实现,非常感谢!!!
展开
展开全部
画图程序都做腻了,楼主的问题我来回答吧
响应鼠标左键按下,弹起和鼠标移动消息
添加一个BOOL型变量BL,赋值为FALSE,当鼠标左键按下时设置其TRUE,弹起时为FALSE
设置一个CPoint对象PT用于存放你需要的点
在鼠标按下消息的响应函数中添加:
PT=point;//此处的point为LBUTTONDOWN消息中的参数point
在鼠标移动消息的响应函数中添加:
if(BL)
{
PT=point; //此处的point为MoveMouse消息中的参数point
}
不懂再追问
响应鼠标左键按下,弹起和鼠标移动消息
添加一个BOOL型变量BL,赋值为FALSE,当鼠标左键按下时设置其TRUE,弹起时为FALSE
设置一个CPoint对象PT用于存放你需要的点
在鼠标按下消息的响应函数中添加:
PT=point;//此处的point为LBUTTONDOWN消息中的参数point
在鼠标移动消息的响应函数中添加:
if(BL)
{
PT=point; //此处的point为MoveMouse消息中的参数point
}
不懂再追问
更多追问追答
追问
先谢谢你的回答!不过可能是我的问题没有说清楚。根据你的意思,能实现只有左键按下后松开时开始绘点,而这点就是你鼠标移动到的最末处。
实际上,我现在做得项目是点击鼠标左键即开始绘图了,也就是说你点击一下左键,就刷新绘制了图形。而现在我想先获取远左键点击时点所在位置,保证我“按住”此点时能移动该点位置,而移动的位置是我左键弹起的位置。这与MATLAB中类似,它能让曲线上点沿着曲线移动
希望兄弟再帮帮我,谢谢
追答
那你就添加两个成员变量m_1,m_2;
点击左键设置BOOL变量QQ为TRUE,弹起为FALSE
在OnDraw()中使用
if(QQ)
{
}
在点击左键时把point保存至m_1中就行啦
不知道我理解的有没有问题,若不对,楼主再问,我再答。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询