德尔福Firemonkey TLayout mousedown没有开火

时间:2013-05-09 10:54:32

标签: 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].OnMouseDown := OnButtonMouseDown;

资源的内容只是从TButton(黑暗风格)复制而来。

我遇到的问题是按钮没有按下状态的动画。因此,我试图捕获OnMouseDown事件以触发“IsPressed”动画,但永远不会触发OnMouseDown。 任何有关为什么OnMouseDown没有发生的想法?

提前致谢。 马丁

2 个答案:

答案 0 :(得分:0)

如果您使用自定义FM样式,则确保样式元素(容器可能)的HitTest属性设置为False。 如果HitTest为True,则样式本身将“吞噬”该事件。

您可以在此处找到更多信息:

答案 1 :(得分:0)

不知道为什么,但设置

Locked := true 

解决了我的问题。