InkAnalyzer が ContextNode を削除する前に発生します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink.Analysis (Microsoft.Ink.Analysis.dll 内)
構文
'宣言
Public Event ContextNodeDeleting As ContextNodeDeletingEventHandler
'使用
Dim instance As InkAnalyzer
Dim handler As ContextNodeDeletingEventHandler
AddHandler instance.ContextNodeDeleting, handler
public event ContextNodeDeletingEventHandler ContextNodeDeleting
public:
event ContextNodeDeletingEventHandler^ ContextNodeDeleting {
void add (ContextNodeDeletingEventHandler^ value);
void remove (ContextNodeDeletingEventHandler^ value);
}
/** @event */
public void add_ContextNodeDeleting (ContextNodeDeletingEventHandler value)
/** @event */
public void remove_ContextNodeDeleting (ContextNodeDeletingEventHandler value)
JScript では、イベントは使用できません。
解説
このイベントは、アプリケーションが InkAnalyzer のデータ構造と同期されている独自のデータ構造を保持している場合に使用します。このイベントは、インク分析の調整段階で、または ContextNode を削除する InkAnalyzer メソッドへの応答として発生します。
InkAnalyzer が ContextNode を削除する前に、InkAnalyzer はすべてのストロークを ContextNode から削除し、他の ContextNode オプションへのすべてのリンクを削除します。ContextNode が削除される前、InkAnalyzer は次のイベントを発生させます。
ContextNode からストロークを移動した場合は、StrokesReparented イベント。
ContextLink を ContextNode から削除する前の場合は、ContextNodeLinkDeleting イベント。
アプリケーション データと 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);
}
次の例では、ContextNodeDeleting イベントを処理する RemoveContextNode メソッドを定義します。イベント情報は、ドキュメント モデル オブジェクト theDocumentModel に渡されます。
この例では、ドキュメント モデルを定義したり、ドキュメント モデルが渡された情報を処理する方法を示したりはしません。
'/ <summary>
'/ Handles the InkAnalyzer.ContextNodeDeleting event.
'/ </summary>
'/ <param name="sender">The source of the event.</param>
'/ <param name="e">The event data.</param>
Private Sub RemoveContextNode( _
ByVal sender As Object, _
ByVal e As Microsoft.Ink.ContextNodeDeletingEventArgs)
' Do not remove unclassified ink nodes from the document model.
If Microsoft.Ink.ContextNodeType.UnclassifiedInk _
<> e.NodeToBeDeleted.Type Then
Me.theDocumentModel.RemoveNode(e.NodeToBeDeleted)
End If
End Sub 'RemoveContextNode
/// <summary>
/// Handles the InkAnalyzer.ContextNodeDeleting event.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void RemoveContextNode(
object sender, Microsoft.Ink.ContextNodeDeletingEventArgs e)
{
// Do not remove unclassified ink nodes from the document model.
if (Microsoft.Ink.ContextNodeType.UnclassifiedInk
!= e.NodeToBeDeleted.Type)
{
this.theDocumentModel.RemoveNode(e.NodeToBeDeleted);
}
}
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0
参照
参照
InkAnalyzer.ContextNodeCreated
InkAnalyzer.ContextNodeLinkAdding