2017-02-27 27 views
1

我有一个窗体,我正在绘制(OnPaint)。我让用户抓住点击并改变形状。不过,我希望允许用户移动到表单的边缘。如何在鼠标移过边缘时获得鼠标时刻。我知道这可以做到,因为它在TrackBar上工作。虽然这是一个组件而不是一个表单,但我认为我可以改变表单风格或注册一些东西,使其以类似的方式行事。FMX:我怎样才能得到一个窗体mousemove事件以外的形式

我打算使窗体背景透明如此理想,同样的解决方案将允许我在透明区域获取鼠标移动。

回答

2

FMX使用AutoCapture属性。然后在鼠标按钮关闭的情况下捕获鼠标。

constructor TMyGrip.Create(AOwner: TComponent); 
begin 
    inherited; 

    AutoCapture := True; 
    CanFocus := True; 
end; 

这不适用于表单。但是,您可以在填充整个客户端的表单上添加TLayout

FMX内部使用FWinService.SetCapture(Self);FWinService.ReleaseCapture(Self);为此,它接受一个表单。我没有测试过这个,但是如果你调用这样的内部函数,你可能会混淆FMX框架。