如何区分按键单击和双击
2009-08-24 13:48
162 查看
有时候我们需要做这样的功能,当用户单击窗体时,作出某个响应,当用户双击窗体时,作出另一个响应。问题是双击事件里已经包含一次单击事件,如果我们希望用户双击窗体过程中,不出现单击事件的响应,该怎么办呢?
答案是,对第一次单击事件作延时处理,如果在双击的时间内,没有发生双击,则认为是一次单击事件,反之则认为是一次双击,不做单击处理。
sdk代码如下:
case WM_LBUTTONDOWN:
{
UINT dblclk_time = GetDoubleClickTime();
ClickTimer = SetTimer(hWnd, 1, dblclk_time, ClickTimerProc);
}
break;
case WM_LBUTTONDBLCLK:
KillTimer(ClickTimer);
//...双击响应代码...
break;
...
VOID CALLBACK ClickTimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
KillTimer(hwnd, ClickTimer);
//...单击响应代码...
}
答案是,对第一次单击事件作延时处理,如果在双击的时间内,没有发生双击,则认为是一次单击事件,反之则认为是一次双击,不做单击处理。
sdk代码如下:
case WM_LBUTTONDOWN:
{
UINT dblclk_time = GetDoubleClickTime();
ClickTimer = SetTimer(hWnd, 1, dblclk_time, ClickTimerProc);
}
break;
case WM_LBUTTONDBLCLK:
KillTimer(ClickTimer);
//...双击响应代码...
break;
...
VOID CALLBACK ClickTimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
KillTimer(hwnd, ClickTimer);
//...单击响应代码...
}
相关文章推荐
- 如何区分单击和双击事件
- Windows如何区分鼠标双击和两次单击
- Windows如何区分鼠标双击和两次单击
- MFC学习笔记之:Windows如何区分鼠标双击和两次单击
- Windows/MFC 如何区分鼠标双击和两次单击
- windows环境下如何区分单击和双击
- (转)MFC:Windows如何区分鼠标双击和两次单击
- Windows如何区分鼠标双击和两次单击
- C# 中如何区分鼠标的单击或双击事件
- MFC学习笔记之:Windows如何区分鼠标双击和两次单击
- android安卓如何实现单击提示“再按一次退出”,双击退出,实现双击监听
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验四:按键模块③ — 单击与双击
- STM32学习笔记:单片机按键单击、双击、长按功能实现
- android 如何实现开机启动、清缓存、杀进程、悬浮窗口单双击区分,源码已上传到CSDN
- js jq 单击和双击区分示例介绍
- js鼠标双击的时候如何屏蔽单击事件呢
- 多功能按键设计——利用一个I/O口,接一个按键,实现3功能操作:单击 + 双击 + 长按
- Android中的onTouch()事件如何区分单击事件和滑动事件
- 如何实现开机启动、清缓存、杀进程、悬浮窗口单双击区分,附源码
- 转:Stm32学习笔记:按键单击、双击、长按功能实现