Condividi tramite


Metodo IStylusAsyncPlugin.StylusDown

Aggiornamento: novembre 2007

Notifica al plug-in di implementazione che lo stilo ha toccato la superficie del digitalizzatore.

Spazio dei nomi:  Microsoft.StylusInput
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
Sub StylusDown ( _
    sender As RealTimeStylus, _
    data As StylusDownData _
)
'Utilizzo
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
)

Parametri

Note

È possibile modificare i dati dei pacchetti chiamando il metodo SetData ereditato dell'oggetto StylusDownData contenuto nel parametro data.

Nota

Un'eccezione ArgumentException viene generata dal metodo SetData se la lunghezza della matrice nel parametro value non è uguale al valore della proprietà PacketPropertyCount ereditata.

Esempi

In questo esempio C#, adattato da RealTimeStylus Plug-in Sample, viene illustrata un'implementazione del metodo StylusDown. Nell'esempio viene disegnato un cerchio viola intorno al punto in cui lo stilo tocca il digitalizzatore. La variabile myGraphics mantiene un riferimento interno a un oggetto Graphics per il controllo a cui è associato RealTimeStylus.

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 questo esempio Microsoft Visual Basic .NET, adattato da RealTimeStylus Plug-in Sample, viene illustrata un'implementazione del metodo StylusDown. Nell'esempio viene disegnato un cerchio viola intorno al punto in cui lo stilo tocca il digitalizzatore. La variabile myGraphics mantiene un riferimento interno a un oggetto Graphics per il controllo a cui è associato RealTimeStylus.

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

Piattaforme

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

IStylusAsyncPlugin Interfaccia

Membri IStylusAsyncPlugin

Spazio dei nomi Microsoft.StylusInput

StylusDownData