触摸屏 触摸操作 鼠标点击事件
来源:互联网 发布:uiautomator2.0源码 编辑:程序博客网 时间:2024/06/10 04:30
环境:window
语言:C++
触摸屏 触摸操作实现。通过鼠标左键或者右键点击事件,获取首尾点坐标(down时获取首点坐标,up时获取尾点坐标),计算x、y距离差值。根据差值判断移动方向。
代码:
1.在PreTranslateMessage()中,预先对消息事件进行处理。 m_bLeftButtonDown为鼠标左键Down标志位,用于记录鼠标左键是否点击,在右键Up信息中,只有此标志位为真,才记录鼠标左键Up信息(尾点)。
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg){// TODO: 在此添加专用代码和/或调用基类if(WM_LBUTTONDOWN== pMsg->message){ if (m_bLeftButtonDown==FALSE){int xPos = LOWORD(pMsg->lParam);int yPos = HIWORD(pMsg->lParam);m_LastPoint.x=xPos;m_LastPoint.y=yPos;::ClientToScreen(pMsg->hwnd,&m_LastPoint);m_bLeftButtonDown=TRUE;}}else if (WM_LBUTTONUP==pMsg->message){ if (m_bLeftButtonDown) {int xPos = LOWORD(pMsg->lParam);int yPos = HIWORD(pMsg->lParam);m_CrrentPoint.x=xPos;m_CrrentPoint.y=yPos;::ClientToScreen(pMsg->hwnd,&m_CrrentPoint);m_bLeftButtonDown=FALSE;CreateDirectMessage();}}return CDialogEx::PreTranslateMessage(pMsg);}
int CMyDlg::CreateDirectMessage(){int iWidh=m_LastPoint.x-m_CrrentPoint.x;int iHei=m_LastPoint.y-m_CrrentPoint.y;if (abs(iHei)>abs(iWidh)){if (iHei>30){SendUpMessage();return 1;}else if(iHei<-30){SendDownMessage();return 2;}else{return 0;}}else {if (iWidh>30){SendLeftMessage();return 3;}else if(iWidh<-30){SendRightMessage();return 4;}else{return 0;}}}
1 0
- 触摸屏 触摸操作 鼠标点击事件
- Cocos2d 摸索[3]: 鼠标点击(手势触摸)事件
- QT支持鼠标与触摸屏的步骤,以及鼠标事件和触摸板事件的完整分析
- 触摸某一区域点击事件
- 模拟鼠标点击事件
- 关于鼠标点击事件
- 鼠标点击事件
- watir鼠标点击事件
- js鼠标点击事件
- 鼠标点击事件
- 鼠标移动/点击事件
- 鼠标点击事件总结
- JavaScript鼠标点击事件
- 获取鼠标点击事件
- 鼠标的点击事件
- highcharts鼠标点击事件
- 触发鼠标点击事件
- Linux下测试键盘鼠标触摸屏触摸板
- 杭电 2034
- Spark内核架构
- Kafka设计解析(四)- Kafka Consumer设计解析
- Python连接oracle数据库踩到的坑
- osg命令行参数的解析方式
- 触摸屏 触摸操作 鼠标点击事件
- adb常用命令介绍
- Max Script|控制器-旋转约束_lookat
- Django入门:多对多模型
- ARM CMSIS DSP库函数arm_sin_cos_f32的BUG
- Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告
- poj 3253 Fence Repair
- 欢迎使用CSDN-markdown编辑器
- 表单提交