Méthode ITextRangeProvider ::Move (uiautomationcore.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(
TextUnit unit,
[in] int count,
[out, retval] int *pRetVal
);
Paramètres
unit
[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 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
ITextRangeProvider ::Move doit uniquement déplacer la plage de texte pour couvrir une autre partie du texte. Il ne doit en aucun cas modifier le texte.
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 en une plage dégénérée (vide) au point de terminaison de départ.
- Si nécessaire, déplacez la plage de texte obtenue vers l’arrière dans le document jusqu’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 en fonction du 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 vers l’avant d’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 en fonction du 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 d’unité , le fournisseur doit remplacer 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 doit pas déplacer ou développer une plage de texte au-delà de la limite d’un objet incorporé, comme une image ou un lien hypertexte. Pour plus d’informations, consultez UI Automation Unités de texte ou Modèles de contrôle Text et TextRange.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | uiautomationcore.h (incluez UIAutomation.h) |
Voir aussi
Conceptuel
Référence
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour