Condividi tramite


Metodo InkAnalyzer.FindNodes (MatchesCriteriaCallback, Object, ContextNode)

Aggiornamento: novembre 2007

Restituisce gli oggetti ContextNode che sono discendenti dell'oggetto ContextNode specificato e che corrispondono ai criteri specificati.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Sintassi

'Dichiarazione
Public Function FindNodes ( _
    criteria As MatchesCriteriaCallback, _
    data As Object, _
    nodeToSearch As ContextNode _
) As ContextNodeCollection
'Utilizzo
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

Parametri

  • data
    Tipo: System.Object
    Dati aggiuntivi facoltativi che possono essere passati nella funzione del delegato. Il metodo passa questi dati al delegato in ogni chiamata, senza modificarli né esaminarli.

Valore restituito

Tipo: Microsoft.Ink.ContextNodeCollection
Oggetto ContextNodeCollection contenente tutti gli oggetti ContextNode che sono discendenti del nodo specificato e che corrispondono ai criteri specificati.

Esempi

Nell'esempio seguente viene individuato l'insieme di oggetti ContextNode in un oggetto InkAnalyzer, theInkAnalyzer che soddisfa i criteri specificati nel delegato LineIsLowerThan. Il valore integer con segno a 32 bit, yValue, viene passato al delegato LineIsLowerThan. La ricerca viene limitata ai discendenti dell'oggetto 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);

Nell'esempio seguente viene definito il metodo LineIsLowerThan, che restituisce true se l'oggetto ContextNode è un oggetto LineNode e se la parte inferiore del riquadro è minore del valore integer passato. Si noti che valori della coordinata Y più elevati equivalgono a valori più bassi sullo schermo. Pertanto, l'insieme nodesBelowYValue contiene tutte le righe con i tratti al di sotto del valore, 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);
        }

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

InkAnalyzer Classe

Membri InkAnalyzer

Overload FindNodes

Spazio dei nomi Microsoft.Ink

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodes

InkAnalyzer.FindNodesOfType