IStylusSyncPlugin.StylusDown-Methode
Informiert das implementierende Plug-In darüber, dass die Tablettstifttaste die Oberfläche des Tablettdigitizers berührt hat.
Namespace: Microsoft.StylusInput
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Sub StylusDown ( _
sender As RealTimeStylus, _
data As StylusDownData _
)
'Usage
Dim instance As IStylusSyncPlugin
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
)
Parameter
- sender
Typ: Microsoft.StylusInput.RealTimeStylus
Das RealTimeStylus-Objekt, das die Benachrichtigung gesendet hat.
- data
Typ: Microsoft.StylusInput.PluginData.StylusDownData
Informationen über das der Benachrichtigung zugeordnete Stylus-Objekt.
Hinweise
Sie können die Paketdaten ändern, indem Sie die geerbte SetData-Methode des StylusDownData-Objekts aufrufen, das im data-Parameter enthalten ist.
Hinweis
Eine ArgumentException-Ausnahme wird von der SetData-Methode ausgelöst, wenn die Länge des Arrays im value-Parameter nicht gleich dem Wert der geerbten PacketPropertyCount-Eigenschaft ist.
Beispiele
Im folgenden vom RealTimeStylus Plug-in Sample übernommenen C#-Beispiel wird eine Implementierung von StylusDown veranschaulicht. Im Beispiel wird ein violetter Kreis um den Punkt gezeichnet, an dem der Tablettstift das Digitalisierungsgerät berührt. Die myGraphics-Variable enthält einen internen Verweis auf ein Graphics-Objekt für das Steuerelement, an das RealTimeStylus angefügt ist.
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);
}
}
In diesem vom RealTimeStylus Plug-in Sample übernommenen Microsoft Visual Basic .NET-Beispiel wird eine Implementierung von StylusDown veranschaulicht. Im Beispiel wird ein violetter Kreis um den Punkt gezeichnet, an dem der Tablettstift das Digitalisierungsgerät berührt. Die myGraphics-Variable enthält einen internen Verweis auf ein Graphics-Objekt für das Steuerelement, an das RealTimeStylus angefügt ist.
Public Sub StylusDown(ByVal sender As RealTimeStylus, ByVal data As StylusDownData) _
Implements IStylusSyncPlugin.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
Plattformen
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0
Siehe auch
Referenz
IStylusSyncPlugin-Schnittstelle