mfc关于鼠标移动的疑问

2025-03-03 05:43:26
推荐回答(3个)
回答1:

没有改变函数读取坐标信息的频率。
这个涉及Windows的窗口消息机制。鼠标移动时,系统消息队列中会新增WM_MOUSCE_MOVE消息,然后根据窗口消息处理机制及MFC的封装处理,最终会进入你写的OnMouseMove函数。由于系统需要处理的消息很多,鼠标移动消息只是其中一种,所以不可能及时处理。至于是系统没有及时新增WM_MOUSCE_MOVE消息,还是窗口消息处理机制进行了过滤,我就不是很懂了。

同意ldy0628,不能画点。要么画直线LineTo,要么画弧线ArcTo。

其实MFC也已经做了封装了。其实有时间的话,最好是写Win32程序,直接调用WinAPI,GDI。

回答2:

你画线是怎么画的?SetPixel吗?这个是画点的,当然是断点。
Windows画连续线都是通过画直线来画的,在OnLButtonDown中调用
dc.MoveTo(m_pOrigin); 然后在OnMouseMove一直调用dc.LineTo(point);就会产生连续的线了。

回答3:

什么年代了 还玩MFC