我正在使用Tmainform.OnKeyDown,除了添加到表单的控件或框架外,它总是正确触发。
我需要OnMouseDown的相同行为。
我的目标是跟踪用户的活动。在没有键盘或鼠标点击的情况下x分钟后,我想关闭应用程序。
编辑:TMainForm.OnMouseDown永远不会被解雇。我不想对事件做任何事情,只要知道用户还活着并点击。
答案 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;
我希望这有用并回答你的问题。