Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi Firemonkey TLayout mousedown未开火_Delphi_Firemonkey - Fatal编程技术网

Delphi Firemonkey TLayout mousedown未开火

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

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

提前谢谢。
Martin

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

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


    • 不知道为什么,但是设置

      Locked := true 
      

      修复了我的问题。

      是的,我已确保HitTest在任何下降对象上都不是真的。如果不加载样式,OnMouseDown会开火吗?