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 では、デリゲートは使用できません。
パラメータ
- visitingNode
型 : System.Windows.Ink.AnalysisCore.ContextNodeBase
基準に対して確認される ContextNodeBase オブジェクト。
- 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);
ContextNodeBase が Line 型で、境界ボックスの下部が渡される整数値よりも小さい場合、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