Vcl.Controls.TControl.OnContextPopup

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property OnContextPopup: TContextPopupEvent read FOnContextPopup write FOnContextPopup;

C++

__property TContextPopupEvent OnContextPopup = {read=FOnContextPopup, write=FOnContextPopup};

プロパティ

種類 可視性 ソース ユニット
event protected
Vcl.Controls.pas
Vcl.Controls.hpp
Vcl.Controls TControl


説明

ユーザーがコントロールを右クリックした、さもなければ、ポップアップ メニューを起動した(キーボードを使用したなどで)場合に発生します。

OnContextPopup イベント ハンドラは、ユーザーがマウス、またはポップアップ メニューを要求するためにキーボードを利用した際に、呼び出されます。 OnContextPopup イベントは、WM_CONTEXTMENU メッセージによって生成されます。WM_CONTEXTMENU メッセージ自体は、ユーザーが右マウス ボタンをクリック、または、〔Shift〕+〔F10〕 やアプリケーション キーを押した際に、生成されるものです。

このイベントは、コントロールに関連付けられているポップアップ メニューがない(PopupMenu プロパティが設定されていない)場合や、コントロールの関連付けられているポップアップ メニューの AutoPopup プロパティが false の場合には、非常に便利です。 しかし、OnContextPopup は自動コンテキスト メニューをオーバーライドするために使用することも可能です。この自動コンテキスト メニューは、コントロールに、AutoPopup プロパティが true であるポップアップ メニューが関連付けられている場合に現れます。 この後者の場合、イベント ハンドラが自分のメニューを表示するには、デフォルトのコンテキスト メニューを抑制するために、Handled パラメータを true に設定しなければなりません。

ハンドラの MousePos パラメータは、クライアントの座標における、マウスの位置を示します。 イベントがマウス クリックによって生成されたものではない場合、MousePos は (-1,-1) となります。

メモ: 親コントロールは、自分の子コントロールよりも前に OnContextPopup イベントを受け取ります。 その上で、大抵の子コントロールでは、デフォルトのウィンドウ プロシージャにより、子コントロールの後に、親コントロールの OnContextPopup イベント受信が発生します。 その結果、親コントロールが OnContextPopup イベント ハンドラにおいて HandledTrue を設定しないと、イベント ハンドラは、コンテキスト メニューが表示されるたびに、複数回呼び出されることになります。

OnContextPopup は、Vcl.Controls.TContextPopupEvent 型のイベント ハンドラです。

関連項目