API:Vcl.CategoryButtons.TCategoryButtons.OnContextPopup

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

Delphi

property OnContextPopup;

C++

__property OnContextPopup;

プロパティ

種類 可視性 ソース ユニット
event published
Vcl.CategoryButtons.pas
Vcl.CategoryButtons.hpp
Vcl.CategoryButtons TCategoryButtons

説明

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

Vcl.CategoryButtons.TCategoryButtons.OnContextPopup は Vcl.Controls.TControl.OnContextPopup を継承しています。以下の内容はすべて Vcl.Controls.TControl.OnContextPopup を参照しています。

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

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 型のイベント ハンドラです。

関連項目