Partager via


TransformPattern.TransformPatternInformation.CanRotate Propriété

Définition

Obtient une valeur qui spécifie si l’élément UI Automation peut faire l’objet d’une rotation.

public:
 property bool CanRotate { bool get(); };
public bool CanRotate { get; }
member this.CanRotate : bool
Public ReadOnly Property CanRotate As Boolean

Valeur de propriété

true si l’élément peut faire l’objet d’une rotation ; sinon, false.

Exemples

Dans l’exemple suivant, un TransformPattern modèle de contrôle est obtenu à partir d’un AutomationElement et utilisé par la suite pour faire pivoter le AutomationElement.

///--------------------------------------------------------------------
/// <summary>
/// Obtains a TransformPattern control pattern from 
/// an automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A TransformPattern object.
/// </returns>
///--------------------------------------------------------------------
private TransformPattern GetTransformPattern(
    AutomationElement targetControl)
{
    TransformPattern transformPattern = null;

    try
    {
        transformPattern =
            targetControl.GetCurrentPattern(TransformPattern.Pattern)
            as TransformPattern;
    }
    catch (InvalidOperationException)
    {
        // object doesn't support the TransformPattern control pattern
        return null;
    }

    return transformPattern;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a TransformPattern control pattern from 
''' an automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A TransformPattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetTransformPattern( _
ByVal targetControl As AutomationElement) As TransformPattern
    Dim transformPattern As TransformPattern = Nothing

    Try
        transformPattern = DirectCast( _
        targetControl.GetCurrentPattern(transformPattern.Pattern), _
        TransformPattern)
    Catch exc As InvalidOperationException
        ' object doesn't support the TransformPattern control pattern
        Return Nothing
    End Try

    Return transformPattern

End Function 'GetTransformPattern
///--------------------------------------------------------------------
/// <summary>
/// Calls the TransformPattern.Rotate() method for an associated 
/// automation element.
/// </summary>
/// <param name="transformPattern">
/// The TransformPattern control pattern obtained from
/// an automation element.
/// </param>
/// <param name="degrees">
/// The amount of degrees to rotate the automation element.
/// </param>
///--------------------------------------------------------------------
private void RotateElement(
    TransformPattern transformPattern, double degrees)
{
    try
    {
        if (transformPattern.Current.CanRotate)
        {
            transformPattern.Rotate(degrees);
        }
    }
    catch (InvalidOperationException)
    {
        // object is not able to perform the requested action
        return;
    }
}
'''--------------------------------------------------------------------
''' <summary>
''' Calls the TransformPattern.Rotate() method for an associated 
''' automation element.
''' </summary>
''' <param name="transformPattern">
''' The TransformPattern control pattern obtained from
''' an automation element.
''' </param>
''' <param name="degrees">
''' The amount of degrees to rotate the automation element.
''' </param>
'''--------------------------------------------------------------------
Private Sub RotateElement( _
ByVal transformPattern As TransformPattern, ByVal degrees As Double)
    Try
        If transformPattern.Current.CanRotate Then
            transformPattern.Rotate(degrees)
        End If
    Catch
        ' object is not able to perform the requested action
        Return
    End Try

End Sub

Remarques

Un objet ne peut pas être déplacé, redimensionné ou pivoté de telle sorte que son emplacement d’écran résultant soit complètement en dehors des coordonnées de son conteneur et inaccessible au clavier ou à la souris. Par exemple, lorsqu’une fenêtre de niveau supérieur est déplacée complètement hors écran ou qu’un objet enfant est déplacé en dehors des limites de la fenêtre d’affichage du conteneur. Dans ce cas, l’objet est placé aussi près que possible des coordonnées d’écran demandées, les coordonnées supérieures ou gauches étant remplacées pour se trouver dans les limites du conteneur.

S’applique à