次の方法で共有


MatchesCriteriaBaseCallback デリゲート

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

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

構文

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

パラメータ

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

戻り値

型 : System.Boolean
visitingNode オブジェクトが条件に一致するかどうかを示すブール値。

次の例では、整数 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);

ContextNodeBaseLine 型で、境界ボックスの下部が渡される整数値よりも小さい場合、LineIsLowerThan は、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

参照

参照

System.Windows.Ink.AnalysisCore 名前空間

InkAnalyzer.FindNodes