鼠标左键长按功能的实现


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM