次の方法で共有


IStylusAsyncPlugin.Packets メソッド

スタイラスがデジタイザ上で移動していることを、IStylusAsyncPlugin インターフェイスを実装するオブジェクトに通知します。

名前空間 :  Microsoft.StylusInput
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Sub Packets ( _
    sender As RealTimeStylus, _
    data As PacketsData _
)
'使用
Dim instance As IStylusAsyncPlugin
Dim sender As RealTimeStylus
Dim data As PacketsData

instance.Packets(sender, data)
void Packets(
    RealTimeStylus sender,
    PacketsData data
)
void Packets(
    RealTimeStylus^ sender, 
    PacketsData^ data
)
void Packets(
    RealTimeStylus sender,
    PacketsData data
)
function Packets(
    sender : RealTimeStylus, 
    data : PacketsData
)

パラメータ

解説

data パラメータに格納された PacketsData オブジェクトの、継承された SetData メソッドを呼び出すことにより、パケット データを変更できます。

ms585056.alert_note(ja-jp,VS.90).gifメモ :

value パラメータの配列の長さが、継承された PacketPropertyCount プロパティの値の倍数でない場合は、ArgumentException 例外が SetData メソッドによってスローされます。

value パラメータを nullnull 参照 (Visual Basic では Nothing) (Microsoft Visual Basic .NET の場合は Nothing) に設定して SetData メソッドを呼び出すと、パケットをキャンセルできます。

この C# の例は、RealTimeStylus Plug-in Sample からの抜粋です。新たに受け取った各パケットの場所に小さな円を描画する Packets メソッドを実装します。

public void Packets(RealTimeStylus sender,  PacketsData data)
{           
  // For each new packet received, extract the x,y data
  // and draw a small circle around the result.
  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.Green, point.X - 2, point.Y - 2, 4, 4);
  }
}

この Visual Basic .NET の例は、RealTimeStylus Plug-in Sample からの抜粋です。新たに受け取った各パケットの場所に小さな円を描画する Packets メソッドを実装します。

Public Sub Packets(ByVal sender As RealTimeStylus, ByVal data As PacketsData) _
 Implements IStylusAsyncPlugin.Packets
    ' For each new packet received, extract the x,y data
    ' and draw a small circle around the result.
    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.Green, point.X - 2, point.Y - 2, 4, 4)
    Next i
End Sub 'Packets

プラットフォーム

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

IStylusAsyncPlugin インターフェイス

IStylusAsyncPlugin メンバ

Microsoft.StylusInput 名前空間

RealTimeStylus

Microsoft.StylusInput.PluginData.PacketsData