Delphi Firemonkey TLayout mousedown未开火
我正在Firemonkey中创建一个按钮数组,每个按钮都是通过从资源中加载样式创建的Delphi Firemonkey TLayout mousedown未开火,delphi,firemonkey,Delphi,Firemonkey,我正在Firemonkey中创建一个按钮数组,每个按钮都是通过从资源中加载样式创建的 FButtons[r,c] := TLayout( TStyleManager.LoadFromResource(HInstance, BUTTON_STYLE, RT_RCDATA) ); FButtons[r,c].Parent := Self; FButtons[r,c].Stored := false; FButtons[r,c].HitTest := true; FButtons[r,c].OnMou
FButtons[r,c] := TLayout( TStyleManager.LoadFromResource(HInstance, BUTTON_STYLE, RT_RCDATA) );
FButtons[r,c].Parent := Self;
FButtons[r,c].Stored := false;
FButtons[r,c].HitTest := true;
FButtons[r,c].OnMouseDown := OnButtonMouseDown;
资源的内容只是从TButton(黑色样式)复制的
我遇到的问题是,该按钮无法设置按下状态的动画。因此,我试图捕获OnMouseDown事件以触发“IsPressed”动画,但OnMouseDown从未触发。
你知道为什么OnMouseDown没有发生吗
提前谢谢。
Martin如果您使用的是自定义FM样式,那么请确保样式元素(可能是容器)的HitTest属性设置为False。 如果HitTest为真,则样式本身将“吞并”事件 您可以在此处找到更多信息:
- 不知道为什么,但是设置
Locked := true
修复了我的问题。是的,我已确保HitTest在任何下降对象上都不是真的。如果不加载样式,OnMouseDown会开火吗?