使用 Firemokey 在我的 MainForm 上的 OnMouseDown 事件如何工作?

How works the OnMouseDown event on my MainForm with Firemokey?

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

我需要 OnMouseDown 的相同行为。

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

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

为了让表单在活动控件之前看到击键,您需要在表单对象检查器中设置 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;

我希望这对您有所帮助并能回答您的问题。