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

IUIAutomationTransformPattern

COM
IIDa9b55844-a55d-4ef0-926d-569c16ff89bb継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

移動、サイズ変更、または回転が可能なコントロールへのアクセスを提供します。

メソッド 9

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

vtbl 3 HRESULT Move(DOUBLE x, DOUBLE y)

UI Automation 要素を移動します。

xDOUBLEinコントロールの左端の絶対スクリーン座標。
yDOUBLEinコントロールの上端の絶対スクリーン座標。

戻り値

型: HRESULT

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

解説(Remarks)

要素は、その結果として得られるスクリーン上の位置がコンテナーの座標の完全に外側になり、キーボードやマウスからアクセスできなくなるような形で移動、サイズ変更、または回転することはできません。たとえば、トップレベルウィンドウが完全に画面外へ移動された場合や、子オブジェクトがコンテナーのビューポートの境界外へ移動された場合、そのオブジェクトは要求されたスクリーン座標にできるだけ近い位置に配置され、上端または左端の座標はコンテナーの境界内に収まるように上書きされます。

vtbl 4 HRESULT Resize(DOUBLE width, DOUBLE height)

UI Automation 要素のサイズを変更します。

widthDOUBLEinウィンドウの新しい幅(ピクセル単位)。
heightDOUBLEinウィンドウの新しい高さ(ピクセル単位)。

戻り値

型: HRESULT

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

解説(Remarks)

分割ペインをサポートするコントロールに対して呼び出された場合、このメソッドは隣接する他のペインのサイズを変更するという副作用を伴うことがあります。

オブジェクトは、その結果として得られるスクリーン上の位置がコンテナーの座標の完全に外側になり、キーボードやマウスからアクセスできなくなるような形で移動、サイズ変更、または回転することはできません。たとえば、トップレベルウィンドウが完全に画面外へ移動された場合や、子オブジェクトがコンテナーのビューポートの境界外へ移動された場合などです。このような場合、オブジェクトは要求されたスクリーン座標にできるだけ近い位置に配置され、上端または左端の座標はコンテナーの境界内に収まるように上書きされます。

vtbl 5 HRESULT Rotate(DOUBLE degrees)

UI Automation 要素を回転します。

degreesDOUBLEin要素を回転させる度数。正の数は時計回りに、負の数は反時計回りに回転させます。

戻り値

型: HRESULT

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

解説(Remarks)

オブジェクトは、その結果として得られるスクリーン上の位置がコンテナーの座標の完全に外側になり、キーボードやマウスからアクセスできなくなるような形で移動、サイズ変更、または回転することはできません。たとえば、トップレベルウィンドウが完全に画面外へ移動された場合や、子オブジェクトがコンテナーのビューポートの境界外へ移動された場合、そのオブジェクトは要求されたスクリーン座標にできるだけ近い位置に配置され、上端または左端の座標はコンテナーの境界内に収まるように上書きされます。

vtbl 6 HRESULT get_CurrentCanMove(BOOL* retVal)

要素を移動できるかどうかを示します。

retValBOOL*out要素を移動できるかどうかを示す論理値を受け取るポインタである。
vtbl 7 HRESULT get_CurrentCanResize(BOOL* retVal)

要素のサイズを変更できるかどうかを示します。

retValBOOL*out要素のサイズを変更できるかどうかを示す論理値を受け取るポインタである。
vtbl 8 HRESULT get_CurrentCanRotate(BOOL* retVal)

要素を回転できるかどうかを示します。

retValBOOL*out要素を回転できるかどうかを示す論理値を受け取るポインタである。
vtbl 9 HRESULT get_CachedCanMove(BOOL* retVal)

要素を移動できるかどうかを示すキャッシュされた値を取得します。

retValBOOL*outキャッシュされた、要素を移動できるかどうかを示す論理値を受け取るポインタである。
vtbl 10 HRESULT get_CachedCanResize(BOOL* retVal)

要素のサイズを変更できるかどうかを示すキャッシュされた値を取得します。

retValBOOL*outキャッシュされた、要素のサイズを変更できるかどうかを示す論理値を受け取るポインタである。
vtbl 11 HRESULT get_CachedCanRotate(BOOL* retVal)

要素を回転できるかどうかを示すキャッシュされた値を取得します。

retValBOOL*outキャッシュされた、要素を回転できるかどうかを示す論理値を受け取るポインタである。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IUIAutomationTransformPattern "{A9B55844-A55D-4EF0-926D-569C16FF89BB}"
#usecom global IUIAutomationTransformPattern IID_IUIAutomationTransformPattern "{}"
#comfunc global IUIAutomationTransformPattern_Move                  3 double,double
#comfunc global IUIAutomationTransformPattern_Resize                4 double,double
#comfunc global IUIAutomationTransformPattern_Rotate                5 double
#comfunc global IUIAutomationTransformPattern_get_CurrentCanMove    6 var
#comfunc global IUIAutomationTransformPattern_get_CurrentCanResize  7 var
#comfunc global IUIAutomationTransformPattern_get_CurrentCanRotate  8 var
#comfunc global IUIAutomationTransformPattern_get_CachedCanMove     9 var
#comfunc global IUIAutomationTransformPattern_get_CachedCanResize   10 var
#comfunc global IUIAutomationTransformPattern_get_CachedCanRotate   11 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。