Win32 API 日本語リファレンス
ホームUI.Ribbon › IUIContextualUI

IUIContextualUI

COM
IIDeea11f37-7c46-437c-8e55-b52122b29293継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IUIContextualUI インターフェイスは Ribbon フレームワークによって実装され、コンテキスト ポップアップ ビューの中核となる機能を提供します。

解説(Remarks)

コンテキスト ポップアップは、ContextMenu 要素と MiniToolbar 要素の 2 つのコンポーネントで構成されます。

メモ コンテキスト ポップアップは、ContextMenuMiniToolbar の論理的なコンテナーとしてのみ機能します。スクロール、移動、サイズ変更はサポートしません。
コンテキスト ポップアップは通常、対象のオブジェクト上でマウスを右クリックすることで (またはキーボード ショートカット SHIFT+F10 によって) 表示されます。コンテキスト ポップアップを表示するために必要な手順は、アプリケーションが定義します。

ContextMenu は、クリックされたコントロール、または (キーボード使用時には) フォーカスを持つコントロールに応じて内容が変化する、コンテキストに依存したメニュー項目の一覧です。

MiniToolbar は、さまざまなコマンド、ギャラリー、および Font ControlCombo Box などの複合コントロールを組み込んだ、フローティング ツール バーです。

次のスクリーン ショットは、ContextMenuMiniToolbar を伴うコンテキスト ポップアップを示しています。

ContentPopup、ContextMenu、MiniToolbar を示す吹き出し付きのスクリーン ショット。

メソッド 1

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT ShowAtLocation(INT x, INT y)

ContextPopup を表示します。

xINTinContextPopup の左上隅の絶対 x 座標 (スクリーン座標)。
yINTinContextPopup の左上隅の絶対 y 座標 (スクリーン座標)。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。

解説(Remarks)

ContextPopup の表示位置は、アプリケーション ウィンドウやマウス ポインターのスクリーン座標に基づくものではありません。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IUIContextualUI "{EEA11F37-7C46-437C-8E55-B52122B29293}"
#usecom global IUIContextualUI IID_IUIContextualUI "{}"
#comfunc global IUIContextualUI_ShowAtLocation  3 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。