次の方法で共有


MatchesCriteriaCallback デリゲート

ContextNode オブジェクトが、指定された基準を満たすかどうかを評価するために使用される関数を表します。

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

構文

'宣言
Public Delegate Function MatchesCriteriaCallback ( _
    visitingNode As ContextNode, _
    data As Object _
) As Boolean
'使用
Dim instance As New MatchesCriteriaCallback(AddressOf HandlerMethod)
public delegate bool MatchesCriteriaCallback(
    ContextNode visitingNode,
    Object data
)
public delegate bool MatchesCriteriaCallback(
    ContextNode^ visitingNode, 
    Object^ data
)
/** @delegate */
public delegate boolean MatchesCriteriaCallback(
    ContextNode visitingNode,
    Object data
)
JScript では、デリゲートは使用できません。

パラメータ

  • data
    型 : System.Object
    基準に使用可能なオプション データ。

戻り値

型 : System.Boolean
visitingNode オブジェクトが基準に一致するかどうか。

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

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 であり、境界ボックスの最下部が渡される整数値よりも低い場合、LineIsLowerThan は、true を返します (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

参照

参照

Microsoft.Ink 名前空間

InkAnalyzer.FindNodes