MFC中有关鼠标单击双击响应的问题
来源:互联网 发布:网络公益广告征集 编辑:程序博客网 时间:2024/05/17 08:12
今天修改一程序的Bug,修改了半天,终无头绪。后猛然发现是因为双击的时候,也是响应单击消息函数。遂google,发现:Windows系统在系统的双击时间限制里双击鼠标左键调用OnLButtonDBlClk,双击鼠标左键实际上产生4个事件:WM_LBUTTONDOWN WM_LBUTTONUP,然后WM_LBUTTONDBLCK被调用,鼠标释放时的WM_LBUTTONUP消息。
最后还是实现了所需功能,但是感觉还不理想,如果能在PreTranslateMessage函数里面实现就更好了......
void CClickOrDBDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
// AfxMessageBox("one");
MSG message;
DWORD st = GetTickCount();
while(1)
{
if(::PeekMessage(&message, NULL, 0 ,0 , PM_REMOVE))
{
::TranslateMessage(&message);
::DispatchMessage(&message);
if(message.message == WM_LBUTTONDBLCLK)
{
AfxMessageBox("two");
break;
}
}
DWORD et = GetTickCount();
if(et - st > 200)
{
AfxMessageBox("one");
break;
}
}
CDialog::OnLButtonDown(nFlags, point);
}
- MFC中有关鼠标单击双击响应的问题
- MFC中有关鼠标单击双击响应的问题
- MFC 鼠标双击响应单击事件
- MFC消息处理时,双击鼠标左键响应单击左键消息的处理
- 修复鼠标单击变双击的问题
- Swing之table中响应鼠标双击(单击)事件
- 鼠标单击变双击问题
- MFC picture control响应单击、双击、右键
- MFC中静态文本框(CStatic)响应鼠标单击事件
- MFC中如何在指定的区域响应鼠标单击事件?
- 解决XP下鼠标单击变双击的问题
- 鼠标单击经常被当做双击的问题
- VC鼠标单击与双击的冲突问题
- js鼠标单击和双击事件冲突问题的解决方法
- js鼠标单击和双击事件冲突问题的解决方法
- js鼠标单击和双击事件冲突问题的解决方法
- C# 中如何区分鼠标的单击或双击事件
- MFC中由左键单击模拟左键双击引起的问题
- 求数组中连续三个数和得最大值
- 七款优秀的Linux压缩工具
- membership表结构
- membership表结构
- membership表结构
- MFC中有关鼠标单击双击响应的问题
- 学习笔记-----------表之间的关联(one-to-one many-to-one many-to-many)
- DataGridView常用属性
- C#中堆和堆栈的区别
- [转载]c#的验证码代码(能直接用)
- C#指针类型
- css引入link和@import引用css文件方法的区别
- HTTP 500内部服务器错误//localhost进不去
- C#中堆和栈的区别