为什么 Surface Pro 笔在笔按下时会发送 WM_HSCROLL 和 WM_VSCROLL?

问题描述 投票:0回答:1

我正在构建一个适用于 Windows 桌面的绘图应用程序(Visual Studio 2019、C++、MFC)。当用户按下左键移动鼠标时,我使用

WM_LBUTTONDOWN
WM_MOUSEMOVE
WM_LBUTTONUP
来绘制像素。

当我在 Surface Pro 4 上测试它时,如果我在屏幕上按下笔并移动(期望它进行绘制),则客户端窗口会滚动。 Spy++ 显示大量

WM_HSCROLL
WM_VSCROLL
消息进入窗口,以及偶尔的
WM_POINTERUPDATE
消息。

我应该调用 Win32 API 来更改此行为吗?或者有人知道这里可能出了什么问题吗?

c++ winapi mfc tablet
1个回答
0
投票

您遇到的行为(客户端窗口滚动而不是绘图)可能与系统对触摸和笔输入事件的默认处理有关。

Surface Pro 和类似设备通常具有触摸和笔输入,系统会将其解释为滚动或其他触摸相关操作的手势。

为了使您的绘图应用程序按预期工作,您可能需要以不同的方式处理这些输入事件。

© www.soinside.com 2019 - 2024. All rights reserved.