IContextNode::GetLocation-Methode
Ruft die Position und Größe des IContextNode-Objekts ab.
Syntax
HRESULT GetLocation(
[out] IAnalysisRegion **ppIAnalysisRegion
);
Parameter
-
ppIAnalysisRegion [ out]
-
Ein Zeiger auf die Position und Größe des IContextNode-Objekts.
Rückgabewert
Eine Beschreibung der Rückgabewerte finden Sie unter Klassen und Schnittstellen – Ink-Analyse.
Bemerkungen
Achtung
Um einen Arbeitsspeicherverlust zu vermeiden, rufen Sie IUnknown::Release für * ppIAnalysisRegion auf, wenn Sie den Analysebereich nicht mehr verwenden müssen.
Der Speicherort für einen Containerknoten wird bestimmt, indem die Vereinigung aller Blattpositionen ermittelt wird. Die Position für einen Ink-Blattknoten wird bestimmt, indem die Vereinigung des Begrenzungsfelds der zugeordneten Striche ermittelt wird. Der Speicherort für einen Nicht-Ink-Blattknoten wird beim Erstellen des Knotens festgelegt und kann mithilfe von IContextNode::SetLocation aktualisiert werden.
Beispiele
Das folgende Beispiel zeigt eine Hilfsmethode, die Informationen zu einem angegebenen Knoten, seinem pContextNode-Parameter, abruft. Diese Hilfsmethode gibt Informationen aus den folgenden Methoden zurück.
- 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;
}
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows Nur Desktop-Apps der XP Tablet PC Edition [] |
| Unterstützte Mindestversion (Server) |
Nicht unterstützt |
| Header |
|
| DLL |
|