使用 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;
我希望这对您有所帮助并能回答您的问题。
我正在使用 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;
我希望这对您有所帮助并能回答您的问题。