我正在使用visual C ++ / MFC开发基于桌面的项目。有很多按钮。但问题是,它应该适用于没有鼠标/键盘的触摸屏显示器。
那么,ON_BN_CLICKED会作为触摸屏监视器中的触摸事件吗?或者我必须以其他方式处理它?</ p>
答案 0 :(得分: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);
来源:查看this文章了解详情。