ITextRangeProvider ::Move, méthode (uiautomationcore.h)
Déplace la plage de texte vers l’avant ou vers l’arrière par le nombre spécifié d’unités de texte.
Syntaxe
HRESULT Move(
[in] TextUnit unit,
[in] int count,
[out, retval] int *pRetVal
);
Paramètres
[in] unit
Type : TextUnit
Type d’unités de texte, telles que le caractère, le mot, le 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] pRetVal
Type : int*
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 ITextProvider ::D ocumentRange. Cette valeur peut être négative si la navigation se produit dans la direction descendante.
Valeur de retour
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un HRESULT code d’erreur.
Remarques
ITextRangeProvider ::Move ne doit déplacer que la plage de texte pour couvrir une autre partie du texte, elle ne doit pas modifier le texte de quelque manière que ce soit.
Pour une plage de texte non dégénérée (non vide), ITextRangeProvider ::Move doit normaliser et déplacer la plage de texte en effectuant les étapes suivantes.
- Réduisez la plage de texte à une plage dégénérée (vide) au point de terminaison de départ.
- Si nécessaire, déplacez la plage de texte résultante vers l’arrière dans le document au début de la limite d’unité demandée.
- Déplacez la plage de texte vers l’avant ou vers l’arrière dans le document par le nombre demandé de limites d’unité de texte.
- Développez la plage de texte à partir de l’état dégénéré en déplaçant le point de terminaison de fin vers l’avant par une limite d’unité de texte demandée.
Pour une plage de texte dégénérée, ITextRangeProvider ::Move doit simplement déplacer le point d’insertion de texte par le nombre spécifié d’unités de texte.
Lors du déplacement d’une plage de texte, le fournisseur doit ignorer les limites des objets incorporés dans le texte.
ITextRangeProvider ::Move doit respecter 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 unité, le fournisseur doit remplacer la prochaine unité de texte prise en charge la plus grande suivante.
La taille des unités de texte, de la plus petite à la plus grande, est la suivante.
- Personnage
- Format
- Mot
- Ligne
- Paragraphe
- Page
- Document
comportement de plage de lorsque d’unité est
TextUnit::Format
en tant qu’unité de place 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 doit pas déplacer ou développer une plage de texte sur la limite d’un objet incorporé, telle qu’une image ou un lien hypertexte. Pour plus d’informations, consultez ui Automation Text Units ou Text and TextRange Control Patterns.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | uiautomationcore.h (include UIAutomation.h) |
Voir aussi
conceptuelle
de référence