IStylusAsyncPlugin.StylusDown (Método)
Actualización: noviembre 2007
Notifica al complemento de implementación que el lápiz ha tocado la superficie del digitalizador.
Espacio de nombres: Microsoft.StylusInput
Ensamblado: Microsoft.Ink (en Microsoft.Ink.dll)
Sintaxis
'Declaración
Sub StylusDown ( _
sender As RealTimeStylus, _
data As StylusDownData _
)
'Uso
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
)
Parámetros
- sender
Tipo: Microsoft.StylusInput.RealTimeStylus
Objeto RealTimeStylus que envió la notificación.
- data
Tipo: Microsoft.StylusInput.PluginData.StylusDownData
Información sobre el objeto Stylus que está asociado al lápiz.
Comentarios
Puede modificar los datos de la entrada mediante una llamada al método SetData heredado del objeto StylusDownData que está contenido en el parámetro data.
Nota
El método SetData inicia la excepción ArgumentException si la longitud de la matriz del parámetro value no es igual al valor de la propiedad PacketPropertyCount heredada.
Ejemplos
En este ejemplo de C#, que es una adaptación de RealTimeStylus Plug-in Sample, se muestra una implementación del método StylusDown. En el ejemplo se dibuja un círculo púrpura en torno al punto en el que el lápiz toca el digitalizador. La variable myGraphics contiene una referencia interna a un objeto Graphics del control al que RealTimeStylus está asociado.
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);
}
}
En este ejemplo de Microsoft Visual Basic .NET, adaptado a partir de RealTimeStylus Plug-in Sample, se muestra una implementación del método StylusDown. En el ejemplo se dibuja un círculo morado en torno al punto en el que el lápiz toca el digitalizador. La variable myGraphics contiene una referencia interna a un objeto Graphics del control al que RealTimeStylus está asociado.
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
Plataformas
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión
.NET Framework
Compatible con: 3.0