次の方法で共有


InkAnalyzerBase.FindNodes メソッド (MatchesCriteriaBaseCallback, Object)

指定した基準に一致する ContextNodeBase オブジェクトをすべて返します。

名前空間 :  System.Windows.Ink.AnalysisCore
アセンブリ :  IACore (IACore.dll 内)

構文

'宣言
Public Function FindNodes ( _
    criteria As MatchesCriteriaBaseCallback, _
    data As Object _
) As ContextNodeBaseCollection
'使用
Dim instance As InkAnalyzerBase
Dim criteria As MatchesCriteriaBaseCallback
Dim data As Object
Dim returnValue As ContextNodeBaseCollection

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

パラメータ

  • data
    型 : System.Object
    デリゲート関数に渡すことができる省略可能な追加データ。このメソッドは、呼び出しごとにこのデータをデリゲートに渡し、変更や検査は行いません。

戻り値

型 : System.Windows.Ink.AnalysisCore.ContextNodeBaseCollection
指定した基準に一致するすべての ContextNodeBase オブジェクトが含まれる ContextNodeBaseCollection

次の例では、整数 yValue を使用することにより、MatchesCriteriaBaseCallback のデリゲート関数 LineIsLowerThan で指定された基準を満たす、InkAnalyzerBase、theInkAnalyzerBase 内の ContextNodeBase オブジェクトのコレクションを検出します。

Dim lineIsLowerThanCallback As _
    New System.Windows.Ink.AnalysisCore.MatchesCriteriaBaseCallback(AddressOf LineIsLowerThan)
Dim nodesBelowYValue As ContextNodeBaseCollection = _
    theInkAnalyzerBase.FindNodes(lineIsLowerThanCallback, yValue)
System.Windows.Ink.AnalysisCore.MatchesCriteriaBaseCallback
    lineIsLowerThanCallback = new System.Windows.Ink.AnalysisCore.MatchesCriteriaBaseCallback(LineIsLowerThan);
ContextNodeBaseCollection nodesBelowYValue =
    theInkAnalyzerBase.FindNodes(lineIsLowerThanCallback, yValue);

次の例では、LineIsLowerThan メソッドを定義します。このメソッドは ContextNodeBaseLine 型で、境界ボックスの下部が渡される整数値よりも小さい場合 true を返します (y 値が整数値よりも大きい場合は、画面のより低い位置に表示されることに注意してください)。そのため、nodesBelowYValue コレクションには、値 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);

}

プラットフォーム

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

InkAnalyzerBase クラス

InkAnalyzerBase メンバ

FindNodes オーバーロード

System.Windows.Ink.AnalysisCore 名前空間