Partager via


InkAnalyzerBase.FindNodes, méthode (MatchesCriteriaBaseCallback, Object, ContextNodeBase)

Mise à jour : November 2007

Retourne les objets ContextNode qui sont des descendants du ContextNode spécifié et qui correspondent aux critères spécifiés.

Espace de noms :  System.Windows.Ink.AnalysisCore
Assembly :  IACore (dans IACore.dll)

Syntaxe

'Déclaration
Public Function FindNodes ( _
    criteria As MatchesCriteriaBaseCallback, _
    data As Object, _
    nodeToSearch As ContextNodeBase _
) As ContextNodeBaseCollection
'Utilisation
Dim instance As InkAnalyzerBase
Dim criteria As MatchesCriteriaBaseCallback
Dim data As Object
Dim nodeToSearch As ContextNodeBase
Dim returnValue As ContextNodeBaseCollection

returnValue = instance.FindNodes(criteria, _
    data, nodeToSearch)
public ContextNodeBaseCollection FindNodes(
    MatchesCriteriaBaseCallback criteria,
    Object data,
    ContextNodeBase nodeToSearch
)
public:
ContextNodeBaseCollection^ FindNodes(
    MatchesCriteriaBaseCallback^ criteria, 
    Object^ data, 
    ContextNodeBase^ nodeToSearch
)
public ContextNodeBaseCollection FindNodes(
    MatchesCriteriaBaseCallback criteria,
    Object data,
    ContextNodeBase nodeToSearch
)
public function FindNodes(
    criteria : MatchesCriteriaBaseCallback, 
    data : Object, 
    nodeToSearch : ContextNodeBase
) : ContextNodeBaseCollection

Paramètres

  • data
    Type : System.Object
    Données facultatives supplémentaires qui peuvent être passées dans la fonction déléguée. Cette méthode passe ces données au délégué avec chaque appel. Elle ne les modifie pas et ne les examine pas.

Valeur de retour

Type : System.Windows.Ink.AnalysisCore.ContextNodeBaseCollection
ContextNodeBaseCollection contenant tous les objets ContextNodeBase qui correspondent aux critères spécifiés.

Exemples

L'exemple suivant recherche dans un InkAnalyzerBase, theInkAnalyzer, la collection d'objets ContextNodeBase qui correspond aux critères spécifiés dans le délégué LineIsLowerThan. L'entier signé 32 bits, yValue est passé au délégué LineIsLowerThan. La recherche est restreinte aux descendants du ContextNodeBase, 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);

L'exemple suivant définit la méthode LineIsLowerThan, qui retourne la valeur true si le ContextNodeBase est de type Line et si le bas du cadre englobant est inférieur à un entier passé (notez que plus la valeur de la coordonnée y est élevée, plus l'affichage à l'écran est bas). Par conséquent, la collection nodesBelowYValue contient toutes les lignes dont les traits sont situés sous la valeur, yValue.

Public Function LineIsLowerThan( _
    ByVal nodeBase As System.Windows.Ink.AnalysisCore.ContextNodeBase, _
    ByVal data As Object) As Boolean

    ' Return false if not a line
    If nodeBase.Type <> System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line Then
        Return False
    End If
    ' Check if bottom is lower than yValue passed in
    Dim yValue As Integer = Fix(data)
    Return nodeBase.Location.GetBounds()(3) > yValue

End Function 'LineIsLowerThan
public bool LineIsLowerThan(System.Windows.Ink.AnalysisCore.ContextNodeBase nodeBase, object data)
{
    // Return false if not a line
    if (!(nodeBase.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line))
        return false;

    // Check if bottom is lower than yValue passed in
    int yValue = (int)data;
    return (nodeBase.Location.GetBounds()[3] > yValue);

}

Plateformes

Windows Vista, Windows XP SP2, Windows Server 2003

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

InkAnalyzerBase, classe

Membres InkAnalyzerBase

FindNodes, surcharge

System.Windows.Ink.AnalysisCore, espace de noms