0

我在 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 没有发生?

提前致谢。马丁

4

2 回答 2

0

不知道为什么,但设置

Locked := true 

解决了我的问题。

于 2013-05-10T07:55:57.780 回答
0

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

您可以在这里找到更多信息:

于 2013-05-09T20:21:54.133 回答