Compartir a través de


InkAnalyzer.FindNodes (Método) (MatchesCriteriaCallback, Object, ContextNode)

Actualización: noviembre 2007

Devuelve los objetos ContextNode que son descendientes del objeto ContextNode especificado y que coinciden con los criterios especificados.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink.Analysis (en Microsoft.Ink.Analysis.dll)

Sintaxis

'Declaración
Public Function FindNodes ( _
    criteria As MatchesCriteriaCallback, _
    data As Object, _
    nodeToSearch As ContextNode _
) As ContextNodeCollection
'Uso
Dim instance As InkAnalyzer
Dim criteria As MatchesCriteriaCallback
Dim data As Object
Dim nodeToSearch As ContextNode
Dim returnValue As ContextNodeCollection

returnValue = instance.FindNodes(criteria, _
    data, nodeToSearch)
public ContextNodeCollection FindNodes(
    MatchesCriteriaCallback criteria,
    Object data,
    ContextNode nodeToSearch
)
public:
ContextNodeCollection^ FindNodes(
    MatchesCriteriaCallback^ criteria, 
    Object^ data, 
    ContextNode^ nodeToSearch
)
public ContextNodeCollection FindNodes(
    MatchesCriteriaCallback criteria,
    Object data,
    ContextNode nodeToSearch
)
public function FindNodes(
    criteria : MatchesCriteriaCallback, 
    data : Object, 
    nodeToSearch : ContextNode
) : ContextNodeCollection

Parámetros

  • data
    Tipo: System.Object
    Datos adicionales opcionales que se pueden pasar en la función delegada. Este método pasa estos datos al delegado con cada llamada y no los modifica ni examina.

Valor devuelto

Tipo: Microsoft.Ink.ContextNodeCollection
Objeto ContextNodeCollection que contiene todos los objetos ContextNode que son descendientes del nodo especificado y que coinciden con los criterios especificados.

Ejemplos

En el ejemplo siguiente se busca la colección de objetos ContextNode de un objeto InkAnalyzer, theInkAnalyzer, que satisface los criterios especificados en el delegado LineIsLowerThan. El entero de 32 bits con signo, yValue, se pasa al delegado LineIsLowerThan. La búsqueda se restringe a los descendientes del objeto WritingRegionNode, writingRegion.

Dim isLineLowerThanCallback As _
    New Microsoft.Ink.MatchesCriteriaCallback(AddressOf LineIsLowerThan)
Dim nodesInRegionBelowYValue As ContextNodeCollection = _
    theInkAnalyzer.FindNodes(isLineLowerThanCallback, yValue, writingRegion)
            Microsoft.Ink.MatchesCriteriaCallback
                isLineLowerThanCallback = new Microsoft.Ink.MatchesCriteriaCallback(LineIsLowerThan);
            ContextNodeCollection nodesInRegionBelowYValue =
                theInkAnalyzer.FindNodes(isLineLowerThanCallback, yValue, writingRegion);

En el ejemplo siguiente se define el método LineIsLowerThan, que devuelve true si ContextNode es un objeto LineNode y si la parte inferior del cuadro de límite es inferior al entero que se pasa. (Observe que valores altos en la coordenada Y corresponden a valores bajos en la pantalla.) Por tanto, la colección nodesBelowYValue contiene todas las líneas cuyos trazos están por debajo del valor yValue.

Public Function LineIsLowerThan(ByVal node As Microsoft.Ink.ContextNode, _
                                ByVal data As Object) As Boolean

    ' Return false if not a line
    If Not TypeOf node Is LineNode Then
        Return False
    End If
    ' Check if bottom is lower than yValue passed in
    Dim yValue As Integer = Fix(data)
    Return node.Location.GetBounds().Bottom > yValue

End Function 'LineIsLowerThan

        public bool LineIsLowerThan(Microsoft.Ink.ContextNode node, object data)
        {
            // Return false if not a line
            if (!(node is LineNode))
                return false;

            // Check if bottom is lower than yValue passed in
            int yValue = (int)data;
            return (node.Location.GetBounds().Bottom > yValue);
        }

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

InkAnalyzer (Clase)

InkAnalyzer (Miembros)

FindNodes (Sobrecarga)

Microsoft.Ink (Espacio de nombres)

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodes

InkAnalyzer.FindNodesOfType