注
このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、「Windows Automation API: UI オートメーション 」を参照してください。
このトピックでは、プロパティ、メソッド、イベントに関する情報など、ITransformProviderを実装するためのガイドラインと規則について説明します。 その他の参照へのリンクは、トピックの最後に一覧表示されます。
TransformPattern コントロール パターンは、2 次元空間内で移動、サイズ変更、または回転できるコントロールをサポートするために使用されます。 このコントロール パターンを実装するコントロールの例については、「UI オートメーション クライアントのコントロール パターン マッピング 」を参照してください。
実装のガイドラインと規則
Transform コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。
このコントロール パターンのサポートは、デスクトップ上のオブジェクトに限定されません。 このコントロール パターンは、コンテナー オブジェクトの境界内で子を自由に移動、サイズ変更、または回転できる場合にも、コンテナー オブジェクトの子でサポートされている必要があります。
オブジェクトを移動、サイズ変更、または回転することはできません。これにより、結果として得られる画面の位置がコンテナーの座標の外に完全に移動され、キーボードやマウスにアクセスできなくなります (たとえば、トップレベル ウィンドウが画面外に移動されたときや、子オブジェクトがコンテナーのビューポートの境界の外に移動された場合など)。 このような場合、オブジェクトは要求された画面座標の近くに可能な限り配置され、上または左の座標はコンテナーの境界内に配置されるようにオーバーライドされます。
マルチモニター システムの場合、結合されたデスクトップ画面座標の外側でオブジェクトが移動、サイズ変更、または回転した場合、オブジェクトは、要求された座標にできるだけ近いプライマリ モニターに配置されます。
すべてのパラメーターとプロパティ値は、ロケールに依存せず、絶対です。
ITransformProvider の必須メンバー
ITransformProviderの実装には、次のプロパティとメソッドが必要です。
| 必須メンバー | メンバーの種類 | 注記 |
|---|---|---|
| CanMove | プロパティ | 無し |
| CanResize | プロパティ | 無し |
| CanRotate | プロパティ | 無し |
| Move | メソッド | 無し |
| Resize | メソッド | 無し |
| Rotate | メソッド | 無し |
このコントロール パターンには、関連付けられたイベントはありません。
例外
プロバイダーは、次の例外をスローする必要があります。
| 例外の種類 | 条件 |
|---|---|
| InvalidOperationException | Move - CanMoveProperty が false の場合。 |
| InvalidOperationException | Resize - CanResizeProperty が false の場合。 |
| InvalidOperationException | Rotate - CanRotateProperty が false の場合。 |