关于delphi的按键控件的问题
我实现这样一个功能:鼠标持续点击按钮控件不放时每隔一段时间(可调)即可执行同一个函数。要怎么样才能实现?...
我实现这样一个功能:鼠标持续点击按钮控件不放时每隔一段时间(可调)即可执行同一个函数。
要怎么样才能实现? 展开
要怎么样才能实现? 展开
2个回答
金山毒霸
2024-10-31 广告
2024-10-31 广告
大部分系统错误,是因为某些DLL文件丢失造成的,比如未安装DirectX9或DirectX 9.0组件已损坏、缺少Visual C ++库、未安装.net库。解决方法如下:一、 手动解决方法1、先确定电脑操作系统是多少位的,现在的电脑一般都...
点击进入详情页
本回答由金山毒霸提供
展开全部
将要调用的函数写在 Timer1Timer(Sender: TObject) 中。
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then begin
Timer1.Interval := 3000; // 调整时间,目前 3 秒
Timer1.Enabled := True;
ggTime := 0;
Application.ProcessMessages;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
info: String;
id: Integer;
begin
ggTime := ggTime + Round(Timer1.Interval/1000);
info := Format('你已经按了 %d 秒没有放开.', [ggTime]);
id := Application.MessageBox(PChar(info), '鼠标左键被按下', MB_OK);
if id = IDOK then begin
Timer1.Enabled := False;
ggTime := 0;
end;
end;
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then begin
Timer1.Interval := 3000; // 调整时间,目前 3 秒
Timer1.Enabled := True;
ggTime := 0;
Application.ProcessMessages;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
info: String;
id: Integer;
begin
ggTime := ggTime + Round(Timer1.Interval/1000);
info := Format('你已经按了 %d 秒没有放开.', [ggTime]);
id := Application.MessageBox(PChar(info), '鼠标左键被按下', MB_OK);
if id = IDOK then begin
Timer1.Enabled := False;
ggTime := 0;
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询