2015-10-15 86 views
1

我試圖在用戶觸摸時更改TLabel顏色,但看起來好像MouseDown事件未被觸發。TLabel OnMouseDown事件在Firemonkey中未觸發

procedure TForm_Master.tv_1Down(Sender: TObject; 
    Button: TMouseButton; Shift: TShiftState; X, Y: Single); 
begin 
tv_1.FontColor := TAlphaColors.Dodgerblue; 
end; 

什麼可能會出錯?

回答

4

如果我們將HitTest設置爲True,則此控件捕獲所有鼠標OnClickOnDblClick事件。

如果我們將HitTest設置爲False,這兩個鼠標單擊事件將通過此控件,以便在此控件後面放置的控件接收鼠標事件而不是此控件。

對於大多數控件,HitTestTrue通過默認。但是,對於TLabelTPathLabel這不是真實的,其中HitTest默認爲False;這兩個控件不捕獲OnClickOnDblClick事件,除非您將HitTest設置爲True

http://docwiki.embarcadero.com/Libraries/XE8/en/FMX.Controls.TControl.HitTest