我在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].OnMouseDown := OnButtonMouseDown;
资源的内容只是从TButton(黑暗风格)复制而来。
我遇到的问题是按钮没有按下状态的动画。因此,我试图捕获OnMouseDown事件以触发“IsPressed”动画,但永远不会触发OnMouseDown。 任何有关为什么OnMouseDown没有发生的想法?
提前致谢。 马丁
答案 0 :(得分:0)
如果您使用自定义FM样式,则确保样式元素(容器可能)的HitTest属性设置为False。 如果HitTest为True,则样式本身将“吞噬”该事件。
您可以在此处找到更多信息:
答案 1 :(得分:0)
不知道为什么,但设置
Locked := true
解决了我的问题。