Método IContextNode::GetLocation

Recupera la posición y el tamaño del objeto IContextNode .

Sintaxis

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

Parámetros

ppIAnalysisRegion [out]

Puntero a la posición y el tamaño del objeto IContextNode .

Valor devuelto

Para obtener una descripción de los valores devueltos, vea Clases e interfaces : análisis de entrada de lápiz.

Observaciones

Precaución

Para evitar una pérdida de memoria, llame a IUnknown::Release en *ppIAnalysisRegion cuando ya no necesite usar la región de análisis.

La ubicación de un nodo de contenedor se determina mediante la búsqueda de la unión de todas las ubicaciones de la hoja. La ubicación de un nodo de hoja de lápiz se determina mediante la búsqueda de la unión del rectángulo delimitador de los trazos asociados. La ubicación de un nodo de hoja que no es de entrada de lápiz se establece cuando se crea el nodo y se puede actualizar mediante IContextNode::SetLocation.

Ejemplos

En el ejemplo siguiente se muestra un método auxiliar que recupera información sobre un nodo especificado, su parámetro pContextNode . Este método auxiliar devuelve información de los métodos siguientes.

// 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;
}

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP Tablet PC Edition [solo aplicaciones de escritorio]
Servidor mínimo compatible
No se admite ninguno
Encabezado
IACom.h (también requiere IACom_i.c)
Archivo DLL
IACom.dll

Consulte también

IContextNode

IAnalysisRegion

IContextNode::SetLocation

Referencia de análisis de entrada de lápiz