AnalysisStatus.AppliedChangesRegion, propriété
Mise à jour : November 2007
Retourne la région du document où le InkAnalyzer a modifié l'arborescence ContextNode.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.dll)
Syntaxe
'Déclaration
Public ReadOnly Property AppliedChangesRegion As AnalysisRegion
'Utilisation
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
Valeur de propriété
Type : Microsoft.Ink.AnalysisRegion
AnalysisRegion du document où les modifications ont été mises à jour.
Notes
La propriété AppliedChangesRegion est utilisée lorsque l'application a besoin d'invalider (Invalidate) la zone avec les modifications. Par exemple, l'application peut dessiner une balise spéciale sur laquelle l'utilisateur peut cliquer pour modifier les résultats d'analyse.
Exemples
L'exemple suivant est un gestionnaire d'événements ResultsUpdated appelé lorsque la méthode BackgroundAnalyze termine l'analyse. Dans le gestionnaire d'événements, les DrawingAttributes deviennent rouges après l'analyse des traits pour faciliter le débogage. Au lieu de mettre à jour le contrôle entier, il utilise la propriété AppliedChangesRegion pour mettre à jour uniquement des zones qui ont été modifiées. L'exemple utilise un InkCollector, theInkCollector, qui collecte l'entrée manuscrite dans un System.Windows.Forms.Panel (page pouvant être en anglais), panelForInk. Un InkAnalyzer, theInkAnalyzer, exécute l'analyse.
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);
}
}
Plateformes
Windows Vista
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Informations de version
.NET Framework
Pris en charge dans : 3.0