IContextNode::GetLocation メソッド

IContextNode オブジェクトの位置とサイズを取得します。

構文

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

パラメーター

ppIAnalysisRegion [out]

IContextNode オブジェクトの位置とサイズへのポインター。

戻り値

戻り値の説明については、「 クラスとインターフェイス - インク分析」を参照してください。

解説

注意事項

メモリ リークを回避するには、分析領域を使用する必要がなくなったときに、*ppIAnalysisRegionIUnknown::Release を呼び出します。

コンテナー ノードの場所は、リーフのすべての場所の和集合を見つけることによって決定されます。 インク リーフ ノードの位置は、関連付けられたストロークの境界ボックスの和集合を見つけることによって決まります。 インク以外のリーフ ノードの場所は、ノードの作成時に設定され、 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 タブレット PC エディション [デスクトップ アプリのみ]
サポートされている最小のサーバー
サポートなし
Header
IACom.h (IACom_i.c も必要)
[DLL]
IACom.dll

関連項目

IContextNode

IAnalysisRegion

IContextNode::SetLocation

インク分析リファレンス