Partager via


IStylusAsyncPlugin.StylusDown, méthode

Mise à jour : November 2007

Avertit le plug-in d'implémentation que le stylet est entré en contact avec la surface du digitaliseur.

Espace de noms :  Microsoft.StylusInput
Assembly :  Microsoft.Ink (dans Microsoft.Ink.dll)

Syntaxe

'Déclaration
Sub StylusDown ( _
    sender As RealTimeStylus, _
    data As StylusDownData _
)
'Utilisation
Dim instance As IStylusAsyncPlugin
Dim sender As RealTimeStylus
Dim data As StylusDownData

instance.StylusDown(sender, data)
void StylusDown(
    RealTimeStylus sender,
    StylusDownData data
)
void StylusDown(
    RealTimeStylus^ sender, 
    StylusDownData^ data
)
void StylusDown(
    RealTimeStylus sender,
    StylusDownData data
)
function StylusDown(
    sender : RealTimeStylus, 
    data : StylusDownData
)

Paramètres

Notes

Vous pouvez modifier les données de paquet en appelant la méthode SetData héritée de l'objet StylusDownData contenu dans le paramètre data.

ms585061.alert_note(fr-fr,VS.90).gifRemarque :

Une exception ArgumentException (page pouvant être en anglais) est levée par la méthode SetData si la longueur du tableau dans le paramètre valeur n'est pas égale à la valeur de la propriété PacketPropertyCount héritée.

Exemples

Cet exemple C#, adapté de RealTimeStylus Plug-in Sample, montre une implémentation de la méthode StylusDown. L'exemple permet de dessiner un cercle violet autour du point où le stylet est en contact avec le digitaliseur. La variable myGraphics contient une référence interne à un objet Graphics (page pouvant être en anglais) pour le contrôle auquel le RealTimeStylus est attaché.

public void StylusDown(RealTimeStylus sender, StylusDownData data) 
{
    for (int i = 0; i < data.Count; i += data.PacketPropertyCount)
    {
        // Packet data always has x followed by y followed by the rest
        Point point = new Point(data[i], data[i+1]);

        // Since the packet data is in Ink Space coordinates, we need to convert to Pixels...
        point.X = (int)Math.Round((float)point.X * (float)myGraphics.DpiX/2540.0F);
        point.Y = (int)Math.Round((float)point.Y * (float)myGraphics.DpiY/2540.0F);

        // Draw a circle corresponding to the packet
        myGraphics.DrawEllipse(Pens.Purple, point.X - 2, point.Y - 2, 4, 4);
    }
}

Cet exemple Microsoft Visual Basic .NET, adapté de RealTimeStylus Plug-in Sample, montre une implémentation de la méthode StylusDown. L'exemple permet de dessiner un cercle violet autour du point où le stylet est en contact avec le digitaliseur. La variable myGraphics contient une référence interne à un objet Graphics (page pouvant être en anglais) pour le contrôle auquel le RealTimeStylus est attaché.

Public Sub StylusDown(ByVal sender As RealTimeStylus, ByVal data As StylusDownData) _
 Implements IStylusAsyncPlugin.StylusDown
    Dim i As Integer
    For i = 0 To data.Count - data.PacketPropertyCount Step data.PacketPropertyCount
        ' Packet data always has x followed by y followed by the rest
        Dim point As New Point(data(i), data((i + 1)))

        ' Since the packet data is in Ink Space coordinates, we need to convert to Pixels...
        point.X = Math.Round((System.Convert.ToSingle(point.X) * System.Convert.ToSingle(myGraphics.DpiX) / 2540.0F))
        point.Y = Math.Round((System.Convert.ToSingle(point.Y) * System.Convert.ToSingle(myGraphics.DpiY) / 2540.0F))

        ' Draw a circle corresponding to the packet
        myGraphics.DrawEllipse(Pens.Purple, point.X - 2, point.Y - 2, 4, 4)
    Next i
End Sub 'StylusDown

Plateformes

Windows Vista, Windows XP SP2, Windows Server 2003

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

Voir aussi

Référence

IStylusAsyncPlugin, interface

Membres IStylusAsyncPlugin

Microsoft.StylusInput, espace de noms

StylusDownData