InkAnalyzer が ContextNode を作成した後に発生します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink.Analysis (Microsoft.Ink.Analysis.dll 内)
構文
'宣言
Public Event ContextNodeCreated As ContextNodeCreatedEventHandler
'使用
Dim instance As InkAnalyzer
Dim handler As ContextNodeCreatedEventHandler
AddHandler instance.ContextNodeCreated, handler
public event ContextNodeCreatedEventHandler ContextNodeCreated
public:
event ContextNodeCreatedEventHandler^ ContextNodeCreated {
void add (ContextNodeCreatedEventHandler^ value);
void remove (ContextNodeCreatedEventHandler^ value);
}
/** @event */
public void add_ContextNodeCreated (ContextNodeCreatedEventHandler value)
/** @event */
public void remove_ContextNodeCreated (ContextNodeCreatedEventHandler value)
JScript では、イベントは使用できません。
解説
このイベントは、アプリケーションが InkAnalyzer のデータ構造と同期されている独自のデータ構造を保持している場合に使用します。このイベントは、インク分析の調整段階で、または ContextNode を作成する InkAnalyzer メソッドへの応答として発生します。
InkAnalyzer が ContextNode を作成した場合、新しい ContextNode にはストロークが含まれず、他の ContextNode オブジェクトへのリンクも含まれません。また、そのプロパティの一部が設定されないことがあります。さらに、新しい ContextNode がその親の SubNodes コレクションの末尾に追加されます。このイベントの後、InkAnalyzer は次のイベントを発生させます。
ある ContextNode から別のコンテキストにストロークを移動した場合は、StrokesReparented イベント。
ContextLink を ContextNode に追加した場合は、ContextNodeLinkAdding イベント。
親ノードの SubNodes コレクション内で ContextNode オブジェクトの順序を変更した場合は、ContextNodeMovingToPosition イベント。
この分析段階の ContextNode の状態を解決した後の場合は、ContextNodePropertiesUpdated イベント。
アプリケーション データと InkAnalyzer の同期の詳細については、「Data Proxy with Ink Analysis」を参照してください。
例
この例では、データ プロキシ イベント ハンドラを InkAnalyzer、theInkAnalyzer にアタッチする AttachDataProxyEventHandlers メソッドを定義します。
Private Sub AttachDataProxyEventHandlers()
' If the document model supports on demand data proxy, then add an
' event handler for the PopulateContextNode event. This event is raised
' when the InkAnalyzer accesses a partially populated ContextNode created
' by the document model.
If Me.theDocumentModel.SupportsOnDemandDataProxy Then
AddHandler Me.theInkAnalyzer.PopulateContextNode, AddressOf Me.PopulateContextNode
End If
' Add the other data proxy related event handlers. These events are raised
' by the InkAnalyzer to communicate ink analysis results to the document model.
AddHandler Me.theInkAnalyzer.ContextNodeCreated, AddressOf Me.AddContextNode
AddHandler Me.theInkAnalyzer.ContextNodeDeleting, AddressOf Me.RemoveContextNode
AddHandler Me.theInkAnalyzer.ContextNodeLinkAdding, AddressOf Me.AddContextNodeLink
AddHandler Me.theInkAnalyzer.ContextNodeLinkDeleting, AddressOf Me.RemoveContextNodeLink
AddHandler Me.theInkAnalyzer.ContextNodeMovingToPosition, AddressOf Me.MoveContextNodeToPosition
AddHandler Me.theInkAnalyzer.ContextNodePropertiesUpdated, AddressOf Me.UpdateContextNodeProperties
AddHandler Me.theInkAnalyzer.ContextNodeReparenting, AddressOf Me.ReparentContextNode
AddHandler Me.theInkAnalyzer.InkAnalyzerStateChanging, AddressOf Me.InkAnalyzer_StateChanging
AddHandler Me.theInkAnalyzer.StrokesReparented, AddressOf Me.ReparentStroke
AddHandler Me.theInkAnalyzer.IntermediateResultsUpdated, AddressOf Me.ResultsAvailable
AddHandler Me.theInkAnalyzer.ResultsUpdated, AddressOf Me.ResultsAvailable
End Sub 'AttachDataProxyEventHandlers
private void AttachDataProxyEventHandlers()
{
// If the document model supports on demand data proxy, then add an
// event handler for the PopulateContextNode event. This event is raised
// when the InkAnalyzer accesses a partially populated ContextNode created
// by the document model.
if (this.theDocumentModel.SupportsOnDemandDataProxy)
{
this.theInkAnalyzer.PopulateContextNode +=
new Microsoft.Ink.PopulateContextNodeEventHandler(
this.PopulateContextNode);
}
// Add the other data proxy related event handlers. These events are raised
// by the InkAnalyzer to communicate ink analysis results to the document model.
this.theInkAnalyzer.ContextNodeCreated +=
new Microsoft.Ink.ContextNodeCreatedEventHandler(
this.AddContextNode);
this.theInkAnalyzer.ContextNodeDeleting +=
new Microsoft.Ink.ContextNodeDeletingEventHandler(
this.RemoveContextNode);
this.theInkAnalyzer.ContextNodeLinkAdding +=
new Microsoft.Ink.ContextNodeLinkAddingEventHandler(
this.AddContextNodeLink);
this.theInkAnalyzer.ContextNodeLinkDeleting +=
new Microsoft.Ink.ContextNodeLinkDeletingEventHandler(
this.RemoveContextNodeLink);
this.theInkAnalyzer.ContextNodeMovingToPosition +=
new Microsoft.Ink.ContextNodeMovingToPositionEventHandler(
this.MoveContextNodeToPosition);
this.theInkAnalyzer.ContextNodePropertiesUpdated +=
new Microsoft.Ink.ContextNodePropertiesUpdatedEventHandler(
this.UpdateContextNodeProperties);
this.theInkAnalyzer.ContextNodeReparenting +=
new Microsoft.Ink.ContextNodeReparentingEventHandler(
this.ReparentContextNode);
this.theInkAnalyzer.InkAnalyzerStateChanging +=
new Microsoft.Ink.InkAnalyzerStateChangingEventHandler(
this.InkAnalyzer_StateChanging);
this.theInkAnalyzer.StrokesReparented +=
new Microsoft.Ink.StrokesReparentedEventHandler(
this.ReparentStrokes);
this.theInkAnalyzer.IntermediateResultsUpdated +=
new Microsoft.Ink.ResultsUpdatedEventHandler(
this.ResultsAvailable);
this.theInkAnalyzer.ResultsUpdated +=
new Microsoft.Ink.ResultsUpdatedEventHandler(
this.ResultsAvailable);
}
次の例では、ContextNodeCreated イベントを処理する AddContextNode メソッドを定義します。イベント情報は、ドキュメント モデル オブジェクト theDocumentModel に渡されます。
この例では、ドキュメント モデルを定義したり、ドキュメント モデルが渡された情報を処理する方法を示したりはしません。
'/ <summary>
'/ Handles the InkAnalyzer.ContextNodeCreated event.
'/ </summary>
'/ <param name="sender">The source of the event.</param>
'/ <param name="e">The event data.</param>
'/ <remarks>
'/ Note: when this event is fired, the ContextNode has not been populated
'/ with extended and other properties. Handle the ContextNodePropertiesUpdated
'/ event to populate the corresponding ContextNode in the document model.
'/ </remarks>
Private Sub AddContextNode( _
ByVal sender As Object, _
ByVal e As Microsoft.Ink.ContextNodeCreatedEventArgs)
' Do not add unclassified ink nodes to the document model.
If Microsoft.Ink.ContextNodeType.UnclassifiedInk _
<> e.NodeCreated.Type Then
Me.theDocumentModel.AddNode(e.NodeCreated)
End If
End Sub 'AddContextNode
/// <summary>
/// Handles the InkAnalyzer.ContextNodeCreated event.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
/// <remarks>
/// Note: when this event is fired, the ContextNode has not been populated
/// with extended and other properties. Handle the ContextNodePropertiesUpdated
/// event to populate the corresponding ContextNode in the document model.
/// </remarks>
private void AddContextNode(
object sender, Microsoft.Ink.ContextNodeCreatedEventArgs e)
{
// Do not add unclassified ink nodes to the document model.
if (Microsoft.Ink.ContextNodeType.UnclassifiedInk
!= e.NodeCreated.Type)
{
this.theDocumentModel.AddNode(e.NodeCreated);
}
}
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0
参照
参照
InkAnalyzer.ContextNodeDeleting
InkAnalyzer.ContextNodeLinkAdding
InkAnalyzer.ContextNodeMovingToPosition