最近做练习双击鼠标左键时老是相应单击事件,网上查询和自我探索后解决问题,代码如下:
我写的代码为单击鼠标左键确定圆心,鼠标移动时产生橡皮筋线,双击鼠标结束,单双击鼠标之间的距离为圆的半径
void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
MSG message;
DWORD st = GetTickCount();
while(1)
{
if(::PeekMessage(&message, NULL, 0 ,0 , PM_REMOVE))
{
::TranslateMessage(&message);
::DispatchMessage(&message);
if(message.message == WM_LBUTTONDBLCLK)
{
//从这开始为鼠标双击时发生的事情,可将你自己的写在下面
if (m_bTracking)
{
m_bTracking = false;
if (GetCapture () == this)
{
::ReleaseCapture (); // 擦除橡皮筋
}
}
//到这结束
break;
}
}
DWORD et = GetTickCount();
if(et - st > 200)
{
//从这开始为单击鼠标时发生的事情,可将你自己的写在下面