我做了一个控件,在控件中添加了一个窗口,在窗口上显示我捕获的图像,想请教一下大家,当播放图像时 怎么获取鼠标的双击事件? 我做了一个控件,在控件中添加了一个窗口,在窗口上显示我捕获的图像,想请教一下大家,当播放图像时 怎么获取鼠标的双击事件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是这样想的:首先,在这个空间的类中添加WM_LBUTTONUP(也就是鼠标左键单击消息)然后在这个类的声明中设定一个long型变量m_lastclicktime,用来保存上次鼠标左键单击的时间m_lastclicktime=GetTickCount();GetTickCount()函数的作用是获取从操作系统启动到现在所经过的毫秒数然后判断本次单击与上次单击的山间间隔是否小于等于鼠标双击最小间隔毫秒数,如果是,则可以判断是双击,然后进行相应的处理;如果不是,则什么也不做具体示例如下:void CExPictureCtrl::OnLButtonUp(UINT nFlags, CPoint point){// TODO: 在此添加消息处理程序代码和/或调用默认值 if(GetTickCount()-m_nTickCount<GetDoubleClickTime()) { if(m_bCanFullScreen && m_pImg!=NULL) { CFullScreenDlg Dlg; //Dlg.pSrcDC=&m_Mdc; Dlg.pImg=img; Dlg.cxSrc=m_pImg->GetWidth(); Dlg.cySrc=m_pImg->GetHeight(); Dlg.DoModal(); } } m_nTickCount=GetTickCount(); CWnd::OnLButtonUp(nFlags, point);} 上面的代码写的不太清楚,在写一遍:void CExPictureCtrl::OnLButtonUp(UINT nFlags, CPoint point){// TODO: 在此添加消息处理程序代码和/或调用默认值 if(GetTickCount()-m_nTickCount<GetDoubleClickTime()) { AfxMessageBox(_T("鼠标双击消息!")); } m_nTickCount=GetTickCount(); CWnd::OnLButtonUp(nFlags, point);} vc头文件 求助啊,高手请进。。。。 工具栏按钮怎样设置四种状态图片? 用OpenGL能实现这个功能吗?100分相送! 如何可以选择在程序中选择数据源、数据源中的数据库,填入用户名和密码并保存、登陆? 如何学习mfc CString与int的互相转换问题 关于~N的计算方法是怎么回事 GDI+ 问题 请教CAsyncsock高手,我想通过CAsyncsock来做一个Copy命令,但是速度大慢了500k/s? MFC中动态释放BMP图片 自定义界面库添加鼠标点击事件
首先,在这个空间的类中添加WM_LBUTTONUP(也就是鼠标左键单击消息)
然后在这个类的声明中设定一个long型变量m_lastclicktime,用来保存上次鼠标左键单击的时间
m_lastclicktime=GetTickCount();
GetTickCount()函数的作用是获取从操作系统启动到现在所经过的毫秒数
然后判断本次单击与上次单击的山间间隔是否小于等于鼠标双击最小间隔毫秒数,如果是,则可以判断是双击,然后进行相应的处理;如果不是,则什么也不做
具体示例如下:
void CExPictureCtrl::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值 if(GetTickCount()-m_nTickCount<GetDoubleClickTime())
{
if(m_bCanFullScreen && m_pImg!=NULL)
{ CFullScreenDlg Dlg;
//Dlg.pSrcDC=&m_Mdc;
Dlg.pImg=img;
Dlg.cxSrc=m_pImg->GetWidth();
Dlg.cySrc=m_pImg->GetHeight();
Dlg.DoModal();
}
}
m_nTickCount=GetTickCount();
CWnd::OnLButtonUp(nFlags, point);
}
void CExPictureCtrl::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值 if(GetTickCount()-m_nTickCount<GetDoubleClickTime())
{
AfxMessageBox(_T("鼠标双击消息!"));
}
m_nTickCount=GetTickCount();
CWnd::OnLButtonUp(nFlags, point);
}