代码之家  ›  专栏  ›  技术社区  ›  Eduardo Elias

使用Firemokey在我的主窗体上如何处理OnMouseDown事件?

  •  0
  • Eduardo Elias  · 技术社区  · 7 年前

    我正在使用Tmainform。除了添加到表单中的控件或框架外,OnKeyDown和它始终正确激发。

    我需要对OnMouseDown有同样的行为。

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

    编辑:TMA通知。OnMouseDown从不被解雇。我不想对这个事件做任何事情,只要知道用户还活着并且正在点击。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Craig    7 年前

    要使窗体在活动控件之前看到击键,需要在窗体对象检查器中设置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;