Share via


IUIAutomationTextRange ::Move, méthode (uiautomationclient.h)

Déplace la plage de texte vers l’avant ou vers l’arrière selon le nombre spécifié d’unités de texte .

Syntaxe

HRESULT Move(
  [in]          TextUnit unit,
  [in]          int      count,
  [out, retval] int      *moved
);

Paramètres

[in] unit

Type : TextUnit

Valeur spécifiant le type d’unités de texte, telles que caractère, mot, paragraphe, etc.

[in] count

Type : int

Nombre d'unités de texte à déplacer. Une valeur positive déplace la plage de texte vers l’avant. Une valeur négative déplace la plage de texte vers l’arrière. Zéro n’a aucun effet.

[out, retval] moved

Type : int*

Reçoit le nombre d’unités de texte réellement déplacées. Cela peut être inférieur au nombre demandé si l’un des nouveaux points de terminaison de plage de texte est supérieur ou inférieur aux points de terminaison récupérés par la méthode IUIAutomationTextPattern ::D ocumentRange . Cette valeur peut être négative si la navigation se produit dans le sens inverse.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

IUIAutomationTextRange ::Move déplace la plage de texte pour qu’elle s’étende sur une autre partie du texte ; il ne modifie en aucune façon le texte.

Pour une plage de texte non dégénérée (non vide), IUIAutomationTextRange ::Move normalise et déplace la plage en effectuant les étapes suivantes.

  1. La plage de texte est réduite à une plage dégénérée (vide) au niveau du point de terminaison de départ.
  2. Si nécessaire, la plage de texte résultante est déplacée vers l’arrière dans le document jusqu’au début de la limite d’unité de texte demandée.
  3. La plage de texte est déplacée vers l’avant ou vers l’arrière dans le document en fonction du nombre de limites d’unité de texte demandé.
  4. La plage de texte est développée à partir de l’état dégénéré en déplaçant le point de terminaison de fin vers l’avant d’une limite d’unité de texte demandée.
Si l’une des étapes précédentes échoue, la plage de texte reste inchangée. Si la plage de texte ne peut pas être déplacée jusqu’au nombre d’unités de texte demandé, mais peut être déplacée par un plus petit nombre d’unités de texte, la plage de texte est déplacée par le plus petit nombre d’unités de texte et déplacée est définie sur le nombre d’unités de texte déplacées.

Pour une plage de texte dégénérée, IUIAutomationTextRange ::Move déplace simplement le point d’insertion de texte en fonction du nombre spécifié d’unités de texte.

Lors du déplacement d’une plage de texte, IUIAutomationTextRange ::Move ignore les limites des objets incorporés dans le texte.

IUIAutomationTextRange ::Move respecte le texte masqué et visible.

Si un contrôle textuel ne prend pas en charge l’unité de texte spécifiée par le paramètre d’unité , IUIAutomationTextRange ::Move remplace l’unité de texte prise en charge suivante.

La taille des unités de texte, de la plus petite à la plus grande, est la suivante.

  • Caractère
  • Format
  • Word
  • Ligne
  • Paragraph
  • Page
  • Document

Comportement de plage lorsque l’unité est TextUnit::Format

TextUnit::Format en tant que valeur d’unité positionne la limite d’une plage de texte pour développer ou déplacer la plage en fonction des attributs de texte partagés (format) du texte dans la plage. Toutefois, l’utilisation de l’unité de texte de format ne permet pas de déplacer ou de développer une plage de texte au-delà de la limite d’un objet incorporé, tel qu’une image ou un lien hypertexte. Pour plus d’informations, consultez UI Automation unités de texte ou UI Automation prise en charge du contenu textuel.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Platform Update pour Windows Vista, Windows XP avec SP3 et Platform Update pour Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008, Windows Server 2003 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête uiautomationclient.h (incluez UIAutomation.h)

Voir aussi

IUIAutomationTextRange

UI Automation prise en charge du contenu textuel