鼠标事件问题
请教下如何判断多少秒内,鼠标是否有点击,如果没有则调用个视频,如果有鼠标左键换个视频,右键换个视频
if(Button==mbLeft) { } if(Button==mbRight) { }void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y){EndTime = GetTickCount();if(((EndTime - StartTime)>10000)&&Button==mbLeft) { ShowMessage("左键相隔10秒后单击"); } StartTime = GetTickCount();}//---------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender){StartTime = GetTickCount();}
[解决办法]
弄一个全局的DWORD标志g_dwTick,鼠标每点击一次,就记录当前的Tick数:
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
g_dwTick = ::GetTickCount();
}
然后在定时器中不断的检测当前Tick数的值:
void __fastcall TForm1::tmr1Timer(TObject *Sender)
{
if (::GetTickCount() - g_dwTick >= 10000)
{
// 调用视频
}
}