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
- sender
Type : Microsoft.StylusInput.RealTimeStylus
Objet RealTimeStylus qui a envoyé la notification.
- data
Type : Microsoft.StylusInput.PluginData.StylusDownData
Informations concernant l'objet Stylus associé au stylet.
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.
Remarque : |
---|
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