IContextNode::GetLocation メソッド
IContextNode オブジェクトの位置とサイズを取得します。
構文
HRESULT GetLocation(
[out] IAnalysisRegion **ppIAnalysisRegion
);
パラメーター
-
ppIAnalysisRegion [out]
-
IContextNode オブジェクトの位置とサイズへのポインター。
戻り値
戻り値の説明については、「 クラスとインターフェイス - インク分析」を参照してください。
解説
注意事項
メモリ リークを回避するには、分析領域を使用する必要がなくなったときに、*ppIAnalysisRegion で IUnknown::Release を呼び出します。
コンテナー ノードの場所は、リーフのすべての場所の和集合を見つけることによって決定されます。 インク リーフ ノードの位置は、関連付けられたストロークの境界ボックスの和集合を見つけることによって決まります。 インク以外のリーフ ノードの場所は、ノードの作成時に設定され、 IContextNode::SetLocation を使用して更新できます。
例
次の例は、指定したノードの pContextNode パラメーターに関する情報を取得するヘルパー メソッドを示しています。 このヘルパー メソッドは、次のメソッドから情報を返します。
- IContextNode::GetId
- IContextNode::GetType
- IContextNode::GetLocation
- IContextNode::GetParentNode
// 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 |
|
[DLL] |
|