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
- sender
Tipo: Microsoft.StylusInput.RealTimeStylus
Oggetto RealTimeStylus che ha inviato la notifica.
- data
Tipo: Microsoft.StylusInput.PluginData.StylusDownData
Informazioni sull'oggetto Stylus associato allo stilo.
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