0

我正在使用 Visual C++/MFC 开发基于桌面的项目。有很多按钮。但问题是,它应该在没有鼠标/键盘可用的触摸屏显示器上工作。

那么,ON_BN_CLICKED 会在触摸屏显示器中作为触摸事件工作吗?或者我必须以其他方式处理它?

4

1 回答 1

0

如果您的意思是屏幕点击,则通过“触摸”事件是的,它们可以被视为相同。

Windows 7 为不提供任何明确支持的应用程序提供内置支持,以支持通过屏幕键盘和书写板接收输入。

Windows 将主要以与鼠标相同的模式使用触摸,屏幕点击等同于鼠标点击。因此,“ON_BN_CLICKED”将适用于屏幕点击。

话虽如此,您可以通过以下两种方式之一为 Touch 支持提供显式支持:

手势:Windows 提供的将独特的触摸序列映射到缩放和平移等手势。MFC 进一步将这些手势转换为一组简化的 CWnd 虚拟方法,可以根据需要覆盖这些方法。

OnGestureZoom(CPoint ptCenter, long lDelta)
OnGesturePan(CPoint ptFrom, CPoint ptTo)
OnGestureRotate(CPoint ptCenter, double dblAngle)
OnGestureTwoFingerTap(CPoint ptCenter)
OnGesturePressAndTap(CPoint ptPress, long lDelta)

触摸消息:注册以接收可能同时来自多个触摸点的低级触摸消息,并在消息处理程序中响应这些触摸事件。

virtual BOOL OnTouchInput(CPoint pt, int nInputNumber, int nInputsCount, PTOUCHINPUT pInput);

来源:查看本文了解详情。

于 2013-09-04T13:34:12.583 回答