IUIAutomationDropTargetPattern
COM公式ドキュメント
ドラッグアンドドロップ操作のドロップ先となり得る要素について、Microsoft UI Automation プロバイダーが公開するドラッグアンドドロップ情報へのアクセスを提供します。
メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
つかんだ要素をこのドロップ先にドロップしたときに何が起こるかを説明する、ローカライズされた文字列を取得します。
| retVal | LPWSTR* | out | この要素へドロップしたときに生じる効果を表すローカライズ済み文字列を受け取るポインタである。 |
解説(Remarks)
このプロパティは、つかんだ要素をターゲットにドロップしたときに発生する既定の効果(要素の移動やコピーなど)を説明します。このプロパティは "move" のような短い文字列の場合もあれば、"insert into Main group" のような長い文字列の場合もあります。文字列は常にローカライズされます。
つかんだ要素をこのドロップ先にドロップしたときに何が起こるかを説明する、キャッシュされたローカライズ済み文字列を取得します。
| retVal | LPWSTR* | out | キャッシュされた、ドロップ先効果を表す文字列を受け取るポインタである。 |
解説(Remarks)
このプロパティは、つかんだ要素をターゲットにドロップしたときに発生する既定の効果(要素の移動やコピーなど)を説明します。このプロパティは "move" のような短い文字列の場合もあれば、"insert into Main group" のような長い文字列の場合もあります。文字列は常にローカライズされます。
ドラッグアンドドロップ操作の一環として、つかんだ要素をこのドロップ先にドロップしたときに発生し得るすべての効果を列挙した、ローカライズされた文字列の配列を取得します。(IUIAutomationDropTargetPattern.get_CurrentDropTargetEffects)
| retVal | SAFEARRAY** | out | この要素へのドロップで発生し得るすべての効果を表す文字列を格納した SAFEARRAY を受け取るポインタである。 |
解説(Remarks)
一部のドラッグ操作は、複数の異なるドロップ効果のセットをサポートします。たとえば、右クリックで開始されたドラッグ操作では、要素をドロップしたときに実行されるアクションの選択肢を示すメニューが表示される場合があります。つかんだ要素をドロップしたときに発生し得る効果のセットを調べるには、クライアントはドラッグされている要素の DropEffects プロパティを照会します。このプロパティは "move" のような短い文字列や、"insert into Main group" のような長い文字列を含むことができます。文字列は常にローカライズされます。
ドラッグアンドドロップ操作の一環として、つかんだ要素をこのドロップ先にドロップしたときに発生し得るすべての効果を列挙した、キャッシュされたローカライズ済み文字列の配列を取得します。
| retVal | SAFEARRAY** | out | キャッシュされた、発生し得るドロップ先効果の文字列を格納した SAFEARRAY を受け取るポインタである。 |
解説(Remarks)
一部のドラッグ操作は、複数の異なるドロップ効果のセットをサポートします。たとえば、右クリックで開始されたドラッグ操作では、要素をドロップしたときに実行されるアクションの選択肢を示すメニューが表示される場合があります。つかんだ要素をドロップしたときに発生し得る効果のセットを調べるには、クライアントはドラッグされている要素の DropEffects プロパティを照会します。このプロパティは "move" のような短い文字列や、"insert into Main group" のような長い文字列を含むことができます。文字列は常にローカライズされます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IUIAutomationDropTargetPattern "{69A095F7-EEE4-430E-A46B-FB73B1AE39A5}" #usecom global IUIAutomationDropTargetPattern IID_IUIAutomationDropTargetPattern "{}" #comfunc global IUIAutomationDropTargetPattern_get_CurrentDropTargetEffect 3 var #comfunc global IUIAutomationDropTargetPattern_get_CachedDropTargetEffect 4 var #comfunc global IUIAutomationDropTargetPattern_get_CurrentDropTargetEffects 5 var #comfunc global IUIAutomationDropTargetPattern_get_CachedDropTargetEffects 6 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IUIAutomationDropTargetPattern "{69A095F7-EEE4-430E-A46B-FB73B1AE39A5}" #usecom global IUIAutomationDropTargetPattern IID_IUIAutomationDropTargetPattern "{}" #comfunc global IUIAutomationDropTargetPattern_get_CurrentDropTargetEffect 3 sptr #comfunc global IUIAutomationDropTargetPattern_get_CachedDropTargetEffect 4 sptr #comfunc global IUIAutomationDropTargetPattern_get_CurrentDropTargetEffects 5 sptr #comfunc global IUIAutomationDropTargetPattern_get_CachedDropTargetEffects 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。