Freigeben über


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

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

IStylusSyncPlugin-Member

Microsoft.StylusInput-Namespace

StylusDownData