FMX.Controls.TControl.HitTest
Delphi
property HitTest: Boolean read FHitTest write SetHitTest default True;
C++
__property bool HitTest = {read=FHitTest, write=SetHitTest, default=1};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | FMX.Controls.pas FMX.Controls.hpp |
FMX.Controls | TControl |
説明
コントロールがマウス イベントと取得できるようにします。
- HitTest を
True
に設定すると、このコントロールはすべてのマウス イベントを捕えます。以下の例では、OnClick イベントに対する HitTest の使用を示しています。 - HitTest を
False
に設定すると、マウス イベントはこのコントロールを通過するため、このコントロールの後に配置されているコントロールは、このコントロールの代わりにマウス イベントを取得します。
大抵のコントロールでは、デフォルトで HitTest は True
になっています。 しかしながら、すべてのコントロールでそうだというわけではありません。 たとえば、TLabel や TPathLabel の場合、HitTest はデフォルトでは False
です。これら 2 つのコントロールは、HitTest を True
に設定しない限り、マウス関係のイベントを捕えることはありません。
HitTest の例
1. フォーム上に、TPanel コンポーネントを配置します。
2. パネルの中に、TPathLabel コンポーネントを配置します。
3. TPanel と TPathLabel の両方に対して OnClick イベントを実装します。
procedure TForm1.Panel1Click(Sender: TObject);
begin
ShowMessage('OnClick event fired for TPanel');
end;
procedure TForm1.PathLabel1Click(Sender: TObject);
begin
ShowMessage('OnClick event fired for TPathLabel');
end;
4. TPathLabel HitTest プロパティを False に設定する(これはデフォルトの設定です)。アプリケーションを実行し、ラベルとクリックします。OnClick イベントがパネルに対して発生します(ラベルには発生しない)。
5. TPathLabel の HitTest プロパティを True に設定します。アプリケーションを実行し、ラベルとクリックします。 OnClick イベントが TPathLabel に対して発生します。