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

如何检测组件外部的鼠标点击?

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

BR

最佳答案 试试这个.它在屏幕上获得鼠标位置(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;
点赞