次の方法で共有


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

指定した ContextNode の子孫であり、指定した基準に一致する ContextNode オブジェクトを返します。

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

構文

'宣言
Public Function FindNodes ( _
    criteria As MatchesCriteriaBaseCallback, _
    data As Object, _
    nodeToSearch As ContextNodeBase _
) As ContextNodeBaseCollection
'使用
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

パラメータ

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

戻り値

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

次の例では、LineIsLowerThan デリゲートで指定された基準を満たす、InkAnalyzerBase、theInkAnalyzer 内の ContextNodeBase オブジェクトのコレクションを検出します。32 ビット符号付き整数 yValue が LineIsLowerThan デリゲートに渡されます。検索は、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);

次の例では、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 名前空間