Метод IContextNode::GetLocation

Извлекает положение и размер объекта IContextNode .

Синтаксис

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

Параметры

ppIAnalysisRegion [out]

Указатель на положение и размер объекта IContextNode .

Возвращаемое значение

Описание возвращаемых значений см. в разделе Классы и интерфейсы — анализ рукописного ввода.

Remarks

Внимание!

Чтобы избежать утечки памяти, вызовите IUnknown::Release в *ppIAnalysisRegion , если вам больше не нужно использовать область анализа.

Расположение узла контейнера определяется путем поиска объединения всех расположений конечного элемента. Расположение конечного узла рукописного ввода определяется путем поиска объединения ограничивающего прямоугольника связанных штрихов. Расположение для конечного узла, отличного от рукописного ввода, задается при создании узла и может быть обновлено с помощью IContextNode::SetLocation.

Примеры

В следующем примере показан вспомогательный метод, который извлекает сведения о указанном узле с его параметром pContextNode . Этот вспомогательный метод возвращает сведения из следующих методов.

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

Требования

Требование Значение
Минимальная версия клиента
Windows XP Tablet PC Edition [только классические приложения]
Минимальная версия сервера
Ни одна версия не поддерживается
Заголовок
IACom.h (также требуется IACom_i.c)
DLL
IACom.dll

См. также раздел

IContextNode

IAnalysisRegion

IContextNode::SetLocation

Справочник по анализу рукописного ввода