自绘时如何很好的处理单击和双击消息
2015-08-08 22:19
204 查看
一般像我自己做程序的时候会尽量避免单击和双击都处理很多事情;但程序员身不由己,上面有项目经理(最怕遇到想当然的),外面有客户;当他们都要求这么做的时候,我们就真的没办法了;
一般的,会用sleep来判断是否是双击,但是单击双击都处理的话,显示是不行的。我们通过TRACE可以知道,双击会进入down,up, Ddown,up这几个消息。因此我的做法是在类中声明一个变量,在down 和Ddown的时候来标示属于哪种触发;在up的时候通过判断类型确定属于是down还是Ddown。
有人问:在双击的时候能不能只触发Ddown 而不做down的处理。我只能说抱歉。 我所说的都不是控件的操作
还有一种方法,用GetTickCount 和PeekMessage来共同控制,这样在条件允许的情况下是能控制住单击和双击的,但有一个缺点,这个封装的左键操作要简单,消息要少,才能刚好完成down,up,DD,up的控制,但一般自绘的时候,左键操作是非常频繁的,导致有up消息的时候无法很好的在down后面进行释放掉
一般的,会用sleep来判断是否是双击,但是单击双击都处理的话,显示是不行的。我们通过TRACE可以知道,双击会进入down,up, Ddown,up这几个消息。因此我的做法是在类中声明一个变量,在down 和Ddown的时候来标示属于哪种触发;在up的时候通过判断类型确定属于是down还是Ddown。
有人问:在双击的时候能不能只触发Ddown 而不做down的处理。我只能说抱歉。 我所说的都不是控件的操作
还有一种方法,用GetTickCount 和PeekMessage来共同控制,这样在条件允许的情况下是能控制住单击和双击的,但有一个缺点,这个封装的左键操作要简单,消息要少,才能刚好完成down,up,DD,up的控制,但一般自绘的时候,左键操作是非常频繁的,导致有up消息的时候无法很好的在down后面进行释放掉
相关文章推荐
- iOS开发概述 - 15.核心动画概述(Core Animation)
- C#中的集合有几种?
- c语言中 switch case 和 if else执行效率的比较
- Tarena - 循环结构(while do-while for)
- 【Python】异常处理
- spring
- Java构造函数的public,private,protected
- 黑马程序员 oc随记 类方法与对象方法
- poj 1379 分类: poj templa...
- poj 1379
- poj 1379 分类: poj templates 2015-08-08 22:17 3人阅读 评论(0) 收藏
- 20150805训练题
- ReactNavtive框架教程(5)
- 学习MongoDB--(1):MongoDB简介
- 随想
- iOS开发概述 - 14.CALayer隐式动画
- 求分数--推荐指数(★★★★★)
- Java基础-Map接口及其实现
- Eclipse下Android项目结构介绍
- Visual C#2010学习笔记三之return返回值的使用