IStylusAsyncPlugin.Packets, méthode
Mise à jour : November 2007
Avertit l'objet qui implémente l'interface IStylusAsyncPlugin que le stylet se déplace sur le digitaliseur.
Espace de noms : Microsoft.StylusInput
Assembly : Microsoft.Ink (dans Microsoft.Ink.dll)
Syntaxe
'Déclaration
Sub Packets ( _
sender As RealTimeStylus, _
data As PacketsData _
)
'Utilisation
Dim instance As IStylusAsyncPlugin
Dim sender As RealTimeStylus
Dim data As PacketsData
instance.Packets(sender, data)
void Packets(
RealTimeStylus sender,
PacketsData data
)
void Packets(
RealTimeStylus^ sender,
PacketsData^ data
)
void Packets(
RealTimeStylus sender,
PacketsData data
)
function Packets(
sender : RealTimeStylus,
data : PacketsData
)
Paramètres
- sender
Type : Microsoft.StylusInput.RealTimeStylus
Objet RealTimeStylus qui a appelé cette méthode.
- data
Type : Microsoft.StylusInput.PluginData.PacketsData
Informations à propos du déplacement du stylet.
Notes
Vous pouvez modifier les données de paquet en appelant la méthode SetData héritée de l'objet PacketsData 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 un multiple de la valeur de la propriété PacketPropertyCount héritée. |
Vous pouvez annuler les paquets en appelant la méthode SetData et en affectant la valeur nullune référence null (Nothing en Visual Basic) (Nothing en Microsoft Visual Basic .NET) au paramètre valeur.
Exemples
Cet exemple C# est extrait du RealTimeStylus Plug-in Sample. Il implémente une méthode Packets qui dessine un petit cercle à l'emplacement de chaque nouveau paquet reçu.
public void Packets(RealTimeStylus sender, PacketsData data)
{
// For each new packet received, extract the x,y data
// and draw a small circle around the result.
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.Green, point.X - 2, point.Y - 2, 4, 4);
}
}
Cet exemple Visual Basic .NET est extrait du RealTimeStylus Plug-in Sample. Il implémente une méthode Packets qui dessine un petit cercle à l'emplacement de chaque nouveau paquet reçu.
Public Sub Packets(ByVal sender As RealTimeStylus, ByVal data As PacketsData) _
Implements IStylusAsyncPlugin.Packets
' For each new packet received, extract the x,y data
' and draw a small circle around the result.
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.Green, point.X - 2, point.Y - 2, 4, 4)
Next i
End Sub 'Packets
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