Metodo InkAnalyzerBase.FindNodes (MatchesCriteriaBaseCallback, Object, ContextNodeBase)
Aggiornamento: novembre 2007
Restituisce gli oggetti ContextNode che sono discendenti dell'oggetto ContextNode specificato e che corrispondono ai criteri specificati.
Spazio dei nomi: System.Windows.Ink.AnalysisCore
Assembly: IACore (in IACore.dll)
Sintassi
'Dichiarazione
Public Function FindNodes ( _
criteria As MatchesCriteriaBaseCallback, _
data As Object, _
nodeToSearch As ContextNodeBase _
) As ContextNodeBaseCollection
'Utilizzo
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
Parametri
- criteria
Tipo: System.Windows.Ink.AnalysisCore.MatchesCriteriaBaseCallback
Funzione del delegato che determina se un oggetto ContextNodeBase soddisfa o meno i criteri specificati.
- 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.
- nodeToSearch
Tipo: System.Windows.Ink.AnalysisCore.ContextNodeBase
Oggetto ContextNode con i discendenti cercati.
Valore restituito
Tipo: System.Windows.Ink.AnalysisCore.ContextNodeBaseCollection
Oggetto ContextNodeBaseCollection contenente tutti gli oggetti ContextNodeBase che corrispondono ai criteri specificati.
Esempi
Nell'esempio seguente viene individuato l'insieme di oggetti ContextNodeBase in un oggetto InkAnalyzerBase, 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 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);
Nell'esempio seguente viene definito il metodo LineIsLowerThan, che restituisce true se l'oggetto ContextNodeBase è di tipo Line e se la parte inferiore del riquadro è minore del valore integer passato. È opportuno ricordare che i valori della coordinata y più elevati corrispondono a valori più bassi sullo schermo. Di conseguenza, l'insieme nodesBelowYValue contiene tutte le righe con i tratti al di sotto del valore, 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);
}
Piattaforme
Windows Vista, Windows XP SP2, Windows Server 2003
.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