次の方法で共有


IStylusAsyncPlugin.StylusDown メソッド

スタイラスがデジタイザの表面に触れたことを実装元のプラグインに通知します。

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

構文

'宣言
Sub StylusDown ( _
    sender As RealTimeStylus, _
    data As StylusDownData _
)
'使用
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
)

パラメータ

解説

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

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

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

RealTimeStylus Plug-in Sampleを基にした、この C# の例では、StylusDown メソッドの実装を示します。この例では、スタイラスがデジタイザに触れた点を中心に紫色の円を描画します。myGraphics 変数は、RealTimeStylus がアタッチされたコントロールの Graphics オブジェクトへの内部参照を保持します。

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);
    }
}

RealTimeStylus Plug-in Sample を基にした、この Microsoft Visual Basic .NET の例では、StylusDown メソッドの実装を示します。この例では、スタイラスがデジタイザに触れた点を中心に紫色の円を描画します。myGraphics 変数は、RealTimeStylus がアタッチされたコントロールの Graphics オブジェクトへの内部参照を保持します。

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

プラットフォーム

Windows Vista, Windows XP SP2, Windows Server 2003

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

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

IStylusAsyncPlugin インターフェイス

IStylusAsyncPlugin メンバ

Microsoft.StylusInput 名前空間

StylusDownData