鼠标左键长按功能的实现
1、添加[Additional]页下的[TApplicationEvents]控件
2、申请全局的Integer变量,用来计算延时,如:YsNum: Integer;
3、在ApplicationEvents1的OnMessage事件中,对捕获的WM_LBUTTONDOWN消息进行处理
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
case Msg.message of
WM_LBUTTONDOWN: begin
YsNum:= GetTickCount;
end;
end;
end;
4、然后在相应控件的OnMouseUp事件中进行延时处理
……
begin
{$WARNINGS OFF} //使用GetTickCount函数,编译时会产生一个WARNINS的提示,在此可将WARNINGS开关关闭
if GetTickCount - YsNum > 500 then //此处500为延时500ms
begin
//==========在此处填写你自己的代码==========
end;
{$WARNINGS ON}
end;
5、如果控件没有OnMouseUp事件,可在第3步中的OnMessage事件中对WM_LBUTTONUP消息进行处理即可
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步