AnalysisStatus.AppliedChangesRegion-Eigenschaft
Gibt den Bereich des Dokuments zurück, in dem der InkAnalyzer Änderungen an der ContextNode-Struktur vorgenommen hat.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)
Syntax
'Declaration
Public ReadOnly Property AppliedChangesRegion As AnalysisRegion
'Usage
Dim instance As AnalysisStatus
Dim value As AnalysisRegion
value = instance.AppliedChangesRegion
public AnalysisRegion AppliedChangesRegion { get; }
public:
property AnalysisRegion^ AppliedChangesRegion {
AnalysisRegion^ get ();
}
/** @property */
public AnalysisRegion get_AppliedChangesRegion()
public function get AppliedChangesRegion () : AnalysisRegion
Eigenschaftenwert
Typ: Microsoft.Ink.AnalysisRegion
Die AnalysisRegion des Dokuments, in der Änderungen aktualisiert wurden.
Hinweise
AppliedChangesRegion wird verwendet, wenn die Anwendung den Bereich mit Änderungen für ungültig erklären muss. Beispielsweise könnte die Anwendung ein besonderes Tag zeichnen, das der Benutzer anklickt, um die Analyseergebnisse zu modifizieren.
Beispiele
Das folgende Beispiel ist ein ResultsUpdated-Ereignishandler, der aufgerufen wird, wenn BackgroundAnalyze die Analyse abschließt. Zum Debuggen werden die DrawingAttributes im Ereignishandler in Rot dargestellt, sobald die Striche analysiert wurden. Statt das gesamte Steuerelement zu aktualisieren, wird in dem Beispiel AppliedChangesRegion verwendet, um nur die Bereiche zu aktualisieren, in denen Änderungen vorgenommen wurden. Im Beispiel wird der InkCollector namens theInkCollector verwendet, der Freihandeingaben in dem System.Windows.Forms.Panel namens panelForInk erfasst. Der InkAnalyzer namens theInkAnalyzer führt die Analyse durch.
Private Sub theInkAnalyzer_Results(ByVal sender As Object, ByVal e As ResultsUpdatedEventArgs) _
Handles theInkAnalyzer.ResultsUpdated
Dim status As AnalysisStatus = e.Status
If status.Successful = True Then
' For debugging purposes, show all analyzed strokes as red
Me.theInkAnalyzer.RootNode.Strokes.ModifyDrawingAttributes(New DrawingAttributes(Color.Red))
' Invalidate just the changed region
Dim panelGraphics As Graphics = Me.panelForInk.CreateGraphics()
Dim bounds As Rectangle = status.AppliedChangesRegion.GetBounds()
' Increase bounds by pen width
bounds.Inflate(CType(Me.theInkCollector.DefaultDrawingAttributes.Width, Integer), _
CType(Me.theInkCollector.DefaultDrawingAttributes.Height, Integer))
Dim corner1 As Point = bounds.Location
Dim corner2 As Point = New Point(bounds.Right, bounds.Bottom)
theInkCollector.Renderer.InkSpaceToPixel(panelGraphics, corner1)
theInkCollector.Renderer.InkSpaceToPixel(panelGraphics, corner2)
bounds = New Rectangle(corner1.X, corner1.Y, corner2.X - corner1.X, _
corner2.Y - corner1.Y)
panelGraphics.Dispose()
panelForInk.Invalidate(bounds)
End If
End Sub
void theInkAnalyzer_ResultsUpdated(object sender, ResultsUpdatedEventArgs e)
{
AnalysisStatus status = e.Status;
if (status.Successful)
{
// For debugging purposes, show all analyzed strokes as red
this.theInkAnalyzer.RootNode.Strokes.ModifyDrawingAttributes(new DrawingAttributes(Color.Red));
// Invalidate just the changed region
Graphics panelGraphics = this.panelForInk.CreateGraphics();
Rectangle bounds = status.AppliedChangesRegion.GetBounds();
// Increase bounds by pen width
bounds.Inflate((int)this.theInkCollector.DefaultDrawingAttributes.Width,
(int)this.theInkCollector.DefaultDrawingAttributes.Height);
Point corner1 = bounds.Location;
Point corner2 = new Point(bounds.Right, bounds.Bottom);
theInkCollector.Renderer.InkSpaceToPixel(panelGraphics, ref corner1);
theInkCollector.Renderer.InkSpaceToPixel(panelGraphics, ref corner2);
bounds = new Rectangle(corner1.X, corner1.Y, corner2.X - corner1.X,
corner2.Y - corner1.Y);
panelGraphics.Dispose();
panelForInk.Invalidate(bounds);
}
}
Plattformen
Windows Vista
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0