鼠标左键长按功能的实现

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消息进行处理即可

 

posted on 2019-05-28 11:27  都市随缘  阅读(2652)  评论(1编辑  收藏  举报

导航