Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Transform Control Pattern

Describes guidelines and conventions for implementing ITransformProvider and ITransformProvider2, including information about properties and methods. The Transform control pattern is used to support controls that can be moved, resized, or rotated within a two-dimensional space.

For examples of controls that implement this control pattern, see Control Types and Their Supported Control Patterns.

This topic contains the following sections.

Implementation Guidelines and Conventions

When implementing the Transform control pattern, note the following guidelines and conventions:

  • Support for this control pattern is not limited to objects on the desktop. This control pattern must also be supported by the children of a container object if the children can be moved, resized, or rotated freely within the boundaries of the container.
  • An object cannot be moved, resized, or rotated such that its resulting screen location would be completely outside the coordinates of its container and therefore inaccessible to the keyboard or mouse (for example, when a top-level window is moved off-screen or a child object is moved outside the boundaries of the container's viewport). In these cases, the object is placed as close to the requested screen coordinates as possible with the top or left coordinates overridden to be within the container boundaries.
  • For multi-monitor systems, if an object is moved, resized, or rotated completely outside the combined desktop screen coordinates, the object is placed on the primary monitor as close to the requested coordinates as possible.
  • All parameters and property values are absolute and independent of locale.

Required Members for ITransformProvider

The following properties and methods are required for implementing the ITransformProvider interface.

Required membersMember typeNotes
CanMove PropertyNone
CanResize PropertyNone
CanRotate PropertyNone
Move MethodNone
Resize MethodNone
Rotate MethodNone


The following additional properties and methods are required for implementing the ITransformProvider2 interface.

Required membersMember typeNotes
CanZoom PropertyNone
Zoom MethodNone
ZoomByUnit MethodNone
ZoomLevel PropertyNone
ZoomMaximum PropertyNone
ZoomMinimum PropertyNone


This control pattern has no associated events.

Related topics

Control Types and Their Supported Control Patterns
UI Automation Control Patterns Overview
UI Automation Tree Overview



© 2018 Microsoft