次の方法で共有


InkAnalyzer.FindNodes メソッド (MatchesCriteriaCallback, Object)

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

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink.Analysis (Microsoft.Ink.Analysis.dll 内)

構文

'宣言
Public Function FindNodes ( _
    criteria As MatchesCriteriaCallback, _
    data As Object _
) As ContextNodeCollection
'使用
Dim instance As InkAnalyzer
Dim criteria As MatchesCriteriaCallback
Dim data As Object
Dim returnValue As ContextNodeCollection

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

パラメータ

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

戻り値

型 : Microsoft.Ink.ContextNodeCollection
指定した基準に一致するすべての ContextNode オブジェクトが含まれる ContextNodeCollection

次の例では、LineIsLowerThan デリゲートで指定された基準を満たす、InkAnalyzer、theInkAnalyzer 内のコンテキスト ノードのコレクションを検出します。32 ビット符号付き整数 yValue が LineIsLowerThan デリゲートに渡されます。

Dim lineIsLowerThanCallback As _
    New Microsoft.Ink.MatchesCriteriaCallback(AddressOf LineIsLowerThan)
Dim nodesBelowYValue As ContextNodeCollection = _
    theInkAnalyzer.FindNodes(lineIsLowerThanCallback, yValue)
            Microsoft.Ink.MatchesCriteriaCallback
                lineIsLowerThanCallback = new Microsoft.Ink.MatchesCriteriaCallback(LineIsLowerThan);
            ContextNodeCollection nodesBelowYValue =
                theInkAnalyzer.FindNodes(lineIsLowerThanCallback, yValue);

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

プラットフォーム

Windows Vista

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

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

InkAnalyzer クラス

InkAnalyzer メンバ

FindNodes オーバーロード

Microsoft.Ink 名前空間

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodesOfType