基于MFC对话框的图片触摸控制
最近项目需要用到触摸屏来实现人机交互,简单描述一下就是用户触摸一下客户端的图片控件中的图片元素,系统给出相应响应。查找了一下资料发现有不少基于MFC的触摸屏实现,其中写得比较好的有Augusdi的博文多点触控 - MFC。下面结合我个人的理解,简单说说触摸的实现。
触摸实现简要分析
触摸主要分为三个步骤,即为查询设备是否支持触摸输入(确认支持的情况下可以省略此步骤)、注册触摸输入响应事件、接收触摸事件。下面分别给出这三个步骤的实现
1、查询设备是否支持触摸输入
要实现触摸控制,首先你得有个触摸输入装置,也就是说你的屏幕得支持多点触摸。用下面的方法可以查询你硬件的触摸支持情况:
BYTE digitizerStatus = (BYTE)GetSystemMetrics(SM_DIGITIZER);
if ((digitizerStatus & (0x80 + 0x40)) == 0) //堆栈就绪+多触点
{
AfxMessageBox(L"No touch input is currently available.