2013-05-09 81 views
0

我在Firemonkey中創建一個按鈕數組,每個按鈕都是通過從資源加載樣式創建的。Delphi Firemonkey TLayout mousedown not firing

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

回答

0

不知道爲什麼,但設置

Locked := true 

固定我的問題。

0

如果您正在使用自定義FM風格,那麼確保style的元素(容器可能)的HitTest屬性設置爲False。 如果HitTest爲True,則樣式本身將「吞下」事件。

您可以在這裏找到更多的信息:

+0

是的,我確定HitTest在任何降序對象上都不是真的。 – Martin 2013-05-10 01:49:31

+0

沒有加載的樣式OnMouseDown會不會火? – 2013-05-10 05:45:32