Partager via


Méthode ITextRange2::BuildUpMath (tom.h)

Convertit le format mathématique au format linéaire d’une plage en un formulaire généré, ou modifie le formulaire généré actuel.

Syntaxe

HRESULT BuildUpMath(
  [in] long Flags
);

Paramètres

[in] Flags

Type : long

Combinaison des indicateurs suivants.

tomChimiqueFormula

tomHaveDelimiter

tomMathAlphabetics

tomMathApplyTemplate

tomMathArabicAlphabetics

tomMathAutoCorrect

tomMathAutoCorrectExt

tomMathAutoCorrectOpPairs

tomMathBackspace

tomMathBuildDown

tomMathBuildDownOutermost

tomMathBuildUpArgOrZone

tomMathBuildUpRecurse

tomMathChangeMask

tomMathCollapseSel

tomMathDeleteArg

tomMathDeleteArg1

tomMathDeleteArg2

tomMathDeleteCol

tomMathDeleteRow

tomMathEnter

tomMathInsColAfter

tomMathInsColBefore

tomMathInsRowAfter

tomMathInsRowBefore

tomMathMakeFracLinear

tomMathMakeFracSlashed

tomMathMakeFracStacked

tomMathMakeLeftSubSup

tomMathMakeSubSup

tomMathRemoveOutermost

tomMathRichEdit

tomMathShiftTab

tomMathSingleChar

tomMathSubscript

tomMathSuperscript

tomMathTab

tomNeedTermOp

tomPlain

tomShowEmptyArgPlaceholders

tomTeX

Valeur retournée

Type : HRESULT

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

Remarques

Si la méthode ITextRange2::BuildUpMath est appelée sur une plage non dégénérée, la méthode recherche dans le texte les conversions mathématiques italiques (si tomMathAlphabetics est spécifié) et les conversions de correction automatique mathématique (si tomMathAutoCorrect ou tomMathAutoCorrectExt est spécifié). Ensuite, la méthode tente de générer le texte sélectionné. Si elle réussit, la méthode remplace le texte précédent de la plage par le texte généré. Si la méthode apporte des modifications à la plage, la fonction retourne NOERROR et la plage sélectionne le résultat. Si la méthode modifie la plage, elle retourne S_FALSE ou un code d’erreur COM (Component Object Model).

Si la méthode ITextRange2::BuildUpMath est appelée sur une plage dégénérée, la méthode BuildUpMath traite la plage comme un point d’insertion (IP) immédiatement après la dernière entrée de caractère. La méthode convertit ce caractère, éventuellement avec certains caractères précédents, en italique mathématique (si tomMathAlphabetics est spécifié), en correction automatique mathématique interne (si tomMathAutoCorrect est spécifié), en opérateurs négation et certaines paires d’opérateurs (si tomMathAutoCorrectOpPairs est spécifié). Si l’adresse IP se trouve à l’intérieur d’un argument, la méthode analyse une plage de texte de l’adresse IP jusqu’au début d’un argument d’objet mathématique ; sinon, la méthode analyse jusqu’au début de la zone mathématique actuelle. L’analyse est terminée par un retour chariot dur ou une marque de fin de paragraphe souple, car les zones mathématiques sont terminées par ces marques. Une analyse à partir du début de l’argument d’objet mathématique ou de la zone mathématique contourne le texte qui n’a aucune chance d’être généré. Si l’analyse atteint l’adresse IP d’entrée d’origine, l’un des résultats suivants peut se produire :

  • Si la méthode a apporté des modifications, la fonction retourne NOERROR et la plage mise à jour avec le texte modifié.
  • Si la méthode n’a apporté aucune modification, la fonction retourne S_FALSE et laisse la plage inchangée.
Si l’analyse trouve du texte qui peut être généré, la méthode BuildUpMath tente de générer le texte jusqu’au point d’insertion. Si elle réussit, la méthode retourne NOERROR et la plage est mise à jour avec le texte généré correspondant.

Si cette tentative de build-up complète échoue, la méthode BuildUpMath effectue une build-up partielle case activée pour l’expression qui précède immédiatement l’adresse IP. Si cela réussit, la méthode retourne NOERROR et la plage contient le texte linéaire à remplacer par le texte généré.

Si les tentatives de build-up complète et partielle échouent, la fonction retourne comme décrit précédemment pour les cas où aucun texte de build-up n’a été trouvé. D’autres valeurs de retour possibles incluent E_INVALIDARG (si l’un des pointeurs d’interface a la valeur NULL) et E_OUTOFMEMORY.

Vous devez définir l’indicateur tomNeedTermOp pour la génération automatique de formule, sauf si une correction automatique s’est produite qui supprime le vide de fin. La correction automatique peut se produire lors de la correction de texte comme \alpha lorsque l’utilisateur tape un vide pour forcer la correction automatique.

Configuration requise

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête tom.h
DLL Msftedit.dll

Voir aussi

ITextRange2

ITextRange2::Linearize