如何使用Firemokey在我的MainForm上运行OnMouseDown事件?

时间:2017-09-18 17:23:37

标签: firemonkey delphi-10-seattle

我正在使用Tmainform.OnKeyDown,除了添加到表单的控件或框架外,它总是正确触发。

我需要OnMouseDown的相同行为。

我的目标是跟踪用户的活动。在没有键盘或鼠标点击的情况下x分钟后,我想关闭应用程序。

编辑:TMainForm.OnMouseDown永远不会被解雇。我不想对事件做任何事情,只要知道用户还活着并点击。

1 个答案:

答案 0 :(得分:0)

要使Form能够在活动控件之前查看击键,您需要在表单Object Inspector中设置KeyPreview属性。

您也可以通过以下代码执行此操作:Form1.KeyPreview := True;

在接受的答案中有一个实质性的解释:How does Delphi's KeyPreview work?

关于您的鼠标查询,如果您没有在那里做任何事情,您怎么知道它不起作用?

将此代码放入表单OnMouseDown事件;

PROCEDURE TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
BEGIN
  CASE Button OF
    mbLeft:   showmessage('Left Mouse Button!');
    mbRight:  showmessage('Right Mouse Button!');
    mbMiddle: showmessage('Middle Mouse Button!');
  END;
END;

我希望这有用并回答你的问题。