Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Representa um nó em uma árvore de objetos que são criados como parte da análise de tinta.
Membros
A interface IContextNode herda da interface IUnknown . IContextNode também tem estes tipos de membros:
Métodos
A interface IContextNode tem esses métodos.
| Método | Descrição |
|---|---|
| AddContextLink | Adiciona um novo IContextLink à coleção de link de contexto do objeto IContextNode . |
| Addpropertydata | Adiciona uma parte dos dados específicos do aplicativo. |
| Confirmar | Modifica o tipo de confirmação, que controla o que o objeto IInkAnalyzer pode alterar sobre o IContextNode. |
| ContainsPropertyData | Determina se o objeto IContextNode contém dados armazenados no identificador especificado. |
| CreatePartiallyPopulatedSubNode | Cria um objeto IContextNode filho que contém apenas informações sobre tipo, identificador e local. |
| CreateSubNode | Cria um novo objeto IContextNode filho. |
| DeleteContextLink | Exclui um objeto IContextLink da coleção de links do objeto IContextNode . |
| DeleteSubNode | Remove um IContextNode filho. |
| GetContextLinks | Recupera uma coleção de objetos IContextLink que representa relações com outros objetos IContextNode . |
| Getid | Recupera o identificador do objeto IContextNode . |
| GetLocation | Recupera a posição e o tamanho do objeto IContextNode . |
| Getparentnode | Recupera o nó pai desse IContextNode na árvore de nós de contexto. |
| GetPartiallyPopulated | Recupera o valor que indica se um objeto IContextNode é parcialmente preenchido ou totalmente preenchido. |
| Getpropertydata | Recupera dados específicos do aplicativo ou outros dados de propriedade dado o identificador especificado. |
| GetPropertyDataIds | Recupera os identificadores para os quais há dados de propriedade. |
| GetStrokeCount | Recupera o número de traços associados ao objeto IContextNode . |
| GetStrokeId | Recupera o identificador de traço para o traço referenciado por um valor de índice dentro do objeto IContextNode . |
| GetStrokeIds | Recupera uma matriz de identificadores para os traços dentro do objeto IContextNode . |
| GetStrokePacketDataById | Recupera uma matriz que contém os dados da propriedade do pacote para o traço especificado. |
| GetStrokePacketDescriptionById | Recupera uma matriz que contém os identificadores de propriedade do pacote para o traço especificado. |
| GetSubNodes | Recupera os nós filho diretos do objeto IContextNode . |
| Gettype | Recupera o tipo do objeto IContextNode . |
| GetTypeName | Recupera um nome de tipo legível por humanos deste IContextNode. |
| IsConfirmed | Recupera um valor que indica se o objeto IContextNode foi confirmado.
IInkAnalyzer não pode alterar o tipo de nó e os traços associados para objetos IContextNode confirmados. |
| LoadPropertiesData | Recria os dados de propriedade interna e específicos do aplicativo para uma matriz de bytes que foi criada anteriormente com IContextNode::SavePropertiesData. |
| MoveSubNodeToPosition | Reordena um objeto IContextNode filho especificado para o índice especificado. |
| RemovePropertyData | Remove uma parte dos dados específicos do aplicativo. |
| Reparent | Move esse objeto IContextNode da coleção de subnós do nó de contexto pai para a coleção de subnós do nó de contexto especificado. |
| ReparentStrokeByIdToNode | Move dados de traço desse IContextNode para o IContextNode especificado. |
| SavePropertiesData | Recupera uma matriz de bytes que contém os dados de propriedade interna e específicos do aplicativo para esse IContextNode. |
| Setlocation | Atualizações a posição e o tamanho desse IContextNode. |
| SetPartiallyPopulated | Modifica o valor que indica se esse IContextNode é parcial ou totalmente preenchido. |
| SetStrokes | Associa os traços especificados a este IContextNode. |
Comentários
Os tipos de nós são descritos nas constantes Tipos de Nó de Contexto .
Exemplos
O exemplo a seguir mostra um método que examina um IContextNode; o método faz o seguinte:
- Obtém o tipo do nó de contexto. Se o nó de contexto for uma tinta não classificada, uma dica de análise ou um nó de reconhecedor personalizado, ele chamará um método auxiliar para examinar propriedades específicas do tipo de nó.
- Se o nó tiver subnós, ele examinará cada subnó chamando a si mesmo.
- Se o nó for um nó folha de tinta, ele examinará os dados de traço do nó chamando um método auxiliar.
A API Ihe InkAnalysis permite que você crie um nó de linha que contém palavras à tinta e palavras de texto. No entanto, o analisador ignorará esses nós mistos e os tratará como nós estrangeiros. Isso afetará a precisão de análise da detecção de anotações de tinta quando o usuário final gravar nesse nó misto ou ao redor dele.
HRESULT CMyClass::ExploreContextNode(
IContextNode *pContextNode)
{
// Check for certain types of context nodes.
GUID ContextNodeType;
HRESULT hr = pContextNode->GetType(&ContextNodeType);
if (SUCCEEDED(hr))
{
if (IsEqualGUID(GUID_CNT_UNCLASSIFIEDINK, ContextNodeType))
{
// Call a helper method that explores unclassified ink nodes.
hr = this->ExploreUnclassifiedInkNode(pContextNode);
}
else if (IsEqualGUID(GUID_CNT_ANALYSISHINT, ContextNodeType))
{
// Call a helper method that explores analysis hint nodes.
hr = this->ExploreAnalysisHintNode(pContextNode);
}
else if (IsEqualGUID(GUID_CNT_CUSTOMRECOGNIZER, ContextNodeType))
{
// Call a helper method that explores custom recognizer nodes.
hr = this->ExploreCustomRecognizerNode(pContextNode);
}
if (SUCCEEDED(hr))
{
// Check if this node is a branch or a leaf node.
IContextNodes *pSubNodes = NULL;
hr = pContextNode->GetSubNodes(&pSubNodes);
if (SUCCEEDED(hr))
{
ULONG ulSubNodeCount;
hr = pSubNodes->GetCount(&ulSubNodeCount);
if (SUCCEEDED(hr))
{
if (ulSubNodeCount > 0)
{
// This node has child nodes; explore each child node.
IContextNode *pSubNode = NULL;
for (ULONG index=0; index<ulSubNodeCount; index++)
{
hr = pSubNodes->GetContextNode(index, &pSubNode);
if (SUCCEEDED(hr))
{
// Recursive call to explore the child node of this
// context node.
hr = this->ExploreContextNode(pSubNode);
}
// Release this reference to the child context node.
if (pSubNode != NULL)
{
pSubNode->Release();
pSubNode = NULL;
}
if (FAILED(hr))
{
break;
}
}
}
else
{
// This is a leaf node. Check if it contains stroke data.
ULONG ulStrokeCount;
hr = pContextNode->GetStrokeCount(&ulStrokeCount);
if (SUCCEEDED(hr))
{
if (ulStrokeCount > 0)
{
// This node is an ink leaf node; call helper
// method that explores available stroke data.
hr = this->ExploreNodeStrokeData(pContextNode);
}
}
}
}
}
// Release this reference to the subnodes collection.
if (pSubNodes != NULL)
{
pSubNodes->Release();
pSubNodes = NULL;
}
}
}
return hr;
}
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte |
Windows XP Tablet PC Edition [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte |
Nenhum compatível |
| Cabeçalho |
|
| DLL |
|