IncrementalHitTester Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Effectue dynamiquement des tests de positionnement sur un Stroke.
public ref class IncrementalHitTester abstract
public abstract class IncrementalHitTester
type IncrementalHitTester = class
Public MustInherit Class IncrementalHitTester
- Héritage
-
IncrementalHitTester
- Dérivé
Exemples
L’exemple suivant montre comment ajouter des points au IncrementalHitTester moment où l’utilisateur entre des données avec le stylet. L’exemple inclut un gestionnaire d’événements StrokeHit qui efface la partie de celle Stroke que l’utilisateur croise. Pour créer un contrôle qui permet à un utilisateur d’effacer les entrées manuscrites, consultez How to : Erase Ink sur un contrôle personnalisé.
// Prepare to collect stylus packets. Get the
// IncrementalHitTester from the InkPresenter's
// StrokeCollection and subscribe to its StrokeHitChanged event.
protected override void OnStylusDown(StylusDownEventArgs e)
{
base.OnStylusDown(e);
EllipseStylusShape eraserTip = new EllipseStylusShape(3, 3, 0);
eraseTester =
presenter.Strokes.GetIncrementalStrokeHitTester(eraserTip);
eraseTester.StrokeHit += new StrokeHitEventHandler(eraseTester_StrokeHit);
eraseTester.AddPoints(e.GetStylusPoints(this));
}
// Collect the StylusPackets as the stylus moves.
protected override void OnStylusMove(StylusEventArgs e)
{
if (eraseTester.IsValid)
{
eraseTester.AddPoints(e.GetStylusPoints(this));
}
}
// Unsubscribe from the StrokeHitChanged event when the
// user lifts the stylus.
protected override void OnStylusUp(StylusEventArgs e)
{
eraseTester.AddPoints(e.GetStylusPoints(this));
eraseTester.StrokeHit -= new
StrokeHitEventHandler(eraseTester_StrokeHit);
eraseTester.EndHitTesting();
}
// When the stylus intersects a stroke, erase that part of
// the stroke. When the stylus dissects a stoke, the
// Stroke.Erase method returns a StrokeCollection that contains
// the two new strokes.
void eraseTester_StrokeHit(object sender,
StrokeHitEventArgs args)
{
StrokeCollection eraseResult =
args.GetPointEraseResults();
StrokeCollection strokesToReplace = new StrokeCollection();
strokesToReplace.Add(args.HitStroke);
// Replace the old stroke with the new one.
if (eraseResult.Count > 0)
{
presenter.Strokes.Replace(strokesToReplace, eraseResult);
}
else
{
presenter.Strokes.Remove(strokesToReplace);
}
}
' Prepare to collect stylus packets. Get the
' IncrementalHitTester from the InkPresenter's
' StrokeCollection and subscribe to its StrokeHitChanged event.
Protected Overrides Sub OnStylusDown(ByVal e As StylusDownEventArgs)
MyBase.OnStylusDown(e)
Dim eraserTip As New EllipseStylusShape(3, 3, 0)
eraseTester = presenter.Strokes.GetIncrementalStrokeHitTester(eraserTip)
AddHandler eraseTester.StrokeHit, _
AddressOf eraseTester_StrokeHit
eraseTester.AddPoints(e.GetStylusPoints(Me))
End Sub
' Collect the StylusPackets as the stylus moves.
Protected Overrides Sub OnStylusMove(ByVal e As StylusEventArgs)
If eraseTester.IsValid Then
eraseTester.AddPoints(e.GetStylusPoints(Me))
End If
End Sub
' Unsubscribe from the StrokeHitChanged event when the
' user lifts the stylus.
Protected Overrides Sub OnStylusUp(ByVal e As StylusEventArgs)
eraseTester.AddPoints(e.GetStylusPoints(Me))
RemoveHandler eraseTester.StrokeHit, _
AddressOf eraseTester_StrokeHit
eraseTester.EndHitTesting()
End Sub
' When the stylus intersects a stroke, erase that part of
' the stroke. When the stylus dissects a stoke, the
' Stroke.Erase method returns a StrokeCollection that contains
' the two new strokes.
Private Sub eraseTester_StrokeHit(ByVal sender As Object, _
ByVal args As StrokeHitEventArgs)
Dim eraseResult As StrokeCollection = _
args.GetPointEraseResults()
Dim strokesToReplace As New StrokeCollection()
strokesToReplace.Add(args.HitStroke)
' Replace the old stroke with the new one.
If eraseResult.Count > 0 Then
presenter.Strokes.Replace(strokesToReplace, eraseResult)
Else
presenter.Strokes.Remove(strokesToReplace)
End If
End Sub
Remarques
Détermine IncrementalHitTester dynamiquement si l’utilisateur « atteint » un Stroke. Cette classe vous permet de fournir des commentaires immédiats à l’utilisateur dans des situations telles que la sélection et l’effacement de l’encre.
Il existe deux classes qui héritent de IncrementalHitTester:
Les IncrementalLassoHitTester coups de frappe sont effectués en déterminant si un chemin lasso l’entoure.
Les IncrementalStrokeHitTester coups de frappe testent en déterminant où un chemin d’effacement le croise.
Le tableau suivant répertorie où apprendre à gérer des entrées manuscrites numériques sur un contrôle personnalisé.
| Pour ce faire... | Consulter cet article |
|---|---|
| Créer un contrôle qui collecte des entrées manuscrites numériques | Création d’un contrôle d’entrée manuscrite |
| Créer un contrôle qui permet à l’utilisateur de sélectionner l’entrée manuscrite | Guide pratique pour sélectionner l’entrée manuscrite à partir d’un contrôle personnalisé |
| Créer un contrôle qui permet à l’utilisateur d’effacer les entrées manuscrites | Procédure : effacer l’entrée manuscrite sur un contrôle personnalisé |
Utilisation du texte XAML
Cette classe n’est généralement pas utilisée en XAML.
Propriétés
| Nom | Description |
|---|---|
| IsValid |
Obtient si le test d’accès IncrementalHitTester est atteint. |
Méthodes
| Nom | Description |
|---|---|
| AddPoint(Point) |
Ajoute un Point à l’objet IncrementalHitTester. |
| AddPoints(IEnumerable<Point>) |
Ajoute des points au IncrementalHitTester. |
| AddPoints(StylusPointCollection) |
Ajoute les objets spécifiés StylusPoint à l’objet IncrementalHitTester. |
| AddPointsCore(IEnumerable<Point>) |
Ajoute des points au IncrementalHitTester. |
| EndHitTesting() |
Libère les ressources utilisées par le IncrementalHitTester. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |