Partager via


Méthode IContextNode::GetLocation

Récupère la position et la taille de l’objet IContextNode .

Syntaxe

HRESULT GetLocation(
  [out] IAnalysisRegion **ppIAnalysisRegion
);

Paramètres

ppIAnalysisRegion [out]

Pointeur vers la position et la taille de l’objet IContextNode .

Valeur retournée

Pour obtenir une description des valeurs de retour, consultez Classes et interfaces - Analyse manuscrite.

Notes

Attention

Pour éviter une fuite de mémoire, appelez IUnknown::Release sur *ppIAnalysisRegion lorsque vous n’avez plus besoin d’utiliser la région d’analyse.

L’emplacement d’un nœud de conteneur est déterminé en recherchant l’union de tous les emplacements de la feuille. L’emplacement d’un nœud feuille d’encre est déterminé en recherchant l’union du cadre englobant des traits associés. L’emplacement d’un nœud feuille non manuscrit est défini lorsque le nœud est créé et peut être mis à jour à l’aide de IContextNode::SetLocation.

Exemples

L’exemple suivant montre une méthode d’assistance qui récupère des informations sur un nœud spécifié, son paramètre pContextNode . Cette méthode d’assistance retourne des informations des méthodes suivantes.

// Helper method for collecting information about a context node.
HRESULT CMyClass::GetNodeInformation(
    IContextNode *pContextNode,
    GUID *pNodeIdentifier,
    GUID *pContextNodeType,
    IAnalysisRegion **ppAnalysisRegion,
    IContextNode **ppParentNode,
    IContextNodes **ppSubNodes)
{
    // Get the identifier of the context node.
    HRESULT hr = pContextNode->GetId(pNodeIdentifier);

    if (FAILED(hr))
    {
        return hr;
    }

    // Get the type identifier for the context node.
    hr = pContextNode->GetType(pContextNodeType);

    if (FAILED(hr))
    {
        return hr;
    }

    // Get the location of the context node.
    hr = pContextNode->GetLocation(ppAnalysisRegion);

    if (FAILED(hr))
    {
        return hr;
    }

    // Get the parent node of the context node.
    hr = pContextNode->GetParentNode(ppParentNode);

    if (FAILED(hr))
    {
        if ((*ppAnalysisRegion) != NULL)
        {
            (*ppAnalysisRegion)->Release();
            (*ppAnalysisRegion) = NULL;
        }
        return hr;
    }

    // Get the subnodes of the context node.
    hr = pContextNode->GetSubNodes(ppSubNodes);

    if (FAILED(hr))
    {
        if (*ppAnalysisRegion)
        {
            (*ppAnalysisRegion)->Release();
            (*ppAnalysisRegion) = NULL;
        }
        if (*ppParentNode)
        {
            (*ppParentNode)->Release();
            (*ppParentNode) = NULL;
        }
        return hr;
    }

    return hr;
}

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP Édition Tablet PC [applications de bureau uniquement]
Serveur minimal pris en charge
Aucun pris en charge
En-tête
IACom.h (nécessite également IACom_i.c)
DLL
IACom.dll

Voir aussi

IContextNode

IAnalysisRegion

IContextNode::SetLocation

Informations de référence sur l’analyse manuscrite