Delphi 10.1 Firemonkey - 检测组件外部的鼠标单击

时间:2016-11-26 17:47:41

标签: delphi mouse firemonkey delphi-10.1-berlin

如何检测组件外部的鼠标点击? 我正在制作自定义日历,当点击带有呈现日期的TLabel时 - TCalendar正在出现。它正在发挥作用。但是当鼠标在组件外面并且按下按钮时,我想消失TCalendar?在VCL中,我可能会使用WindowsMessages,但有一个Firemonkey,我也想在iOS上使用它。

BR

1 个答案:

答案 0 :(得分:3)

试试这个。它在屏幕上获得鼠标位置(Win,iOs,Android)。因此,您可以使用它来查找光标何时无法控制。对于MouseDown,请尝试在Form上使用MouseDown。

function MousePos: TPointF;
var
  MouseService: IFMXMouseService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXMouseService, IInterface(MouseService)) then
    Exit(MouseService.GetMousePos);
  Result := PointF(0, 0);
end;