IStylusAsyncPlugin.StylusUp メソッド
ユーザーがタブレット デジタイザの表面からスタイラスを離したことを実装元のプラグインに通知します。
名前空間 : Microsoft.StylusInput
アセンブリ : Microsoft.Ink (Microsoft.Ink.dll 内)
構文
'宣言
Sub StylusUp ( _
sender As RealTimeStylus, _
data As StylusUpData _
)
'使用
Dim instance As IStylusAsyncPlugin
Dim sender As RealTimeStylus
Dim data As StylusUpData
instance.StylusUp(sender, data)
void StylusUp(
RealTimeStylus sender,
StylusUpData data
)
void StylusUp(
RealTimeStylus^ sender,
StylusUpData^ data
)
void StylusUp(
RealTimeStylus sender,
StylusUpData data
)
function StylusUp(
sender : RealTimeStylus,
data : StylusUpData
)
パラメータ
- sender
型 : Microsoft.StylusInput.RealTimeStylus
通知を送信した RealTimeStylus オブジェクト。
- data
型 : Microsoft.StylusInput.PluginData.StylusUpData
通知に関連付けられた Stylus オブジェクトに関する情報。
解説
data パラメータに格納された StylusUpData オブジェクトの、継承された SetData メソッドを呼び出すことにより、パケット データを変更できます。
メモ : |
---|
value パラメータの配列の長さが、継承された PacketPropertyCount プロパティの値と等しくない場合は、ArgumentException 例外が SetData メソッドによってスローされます。 |
例
この C# の例は、RealTimeStylus Plug-in Sample からの抜粋です。この例では、ペン入力を特定の四角形に制限する方法を示します。
public void StylusUp(RealTimeStylus sender, StylusUpData data)
{
ModifyPacketData(data);
}
private void ModifyPacketData(StylusDataBase data)
{
// For each packet in the packet data, check whether
// its x,y values fall outside of the specified rectangle.
// If so, replace them with the nearest point that still
// falls within the rectangle.
for (int i = 0; i < data.Count ; i += data.PacketPropertyCount)
{
// packet data always has x followed by y followed by the rest
int x = data[i];
int y = data[i+1];
// Constrain points to the input rectangle
x = Math.Max(x, rectangle.Left);
x = Math.Min(x, rectangle.Right);
y = Math.Max(y, rectangle.Top);
y = Math.Min(y, rectangle.Bottom);
// If necessary, modify the x,y packet data
if (x != data[i])
{
data[i] = x;
}
if (y != data[i+1])
{
data[i+1] = y;
}
}
}
この Microsoft Visual Basic .NET の例は、RealTimeStylus Plug-in Sample からの抜粋です。この例では、ペン入力を特定の四角形に制限する方法を示します。
Public Sub StylusUp(ByVal sender As RealTimeStylus, ByVal data As StylusUpData) _
Implements IStylusAsyncPlugin.StylusUp
ModifyPacketData(data)
End Sub 'StylusUp
Private Sub ModifyPacketData(ByVal data As StylusDataBase)
' For each packet in the packet data, check whether
' its x,y values fall outside of the specified rectangle.
' If so, replace them with the nearest point that still
' falls within the rectangle.
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 x As Integer = data(i)
Dim y As Integer = data((i + 1))
' Constrain points to the input rectangle
x = Math.Max(x, rectangle.Left)
x = Math.Min(x, rectangle.Right)
y = Math.Max(y, rectangle.Top)
y = Math.Min(y, rectangle.Bottom)
' If necessary, modify the x,y packet data
If x <> data(i) Then
data(i) = x
End If
If y <> data((i + 1)) Then
data((i + 1)) = y
End If
Next i
End Sub 'ModifyPacketData
プラットフォーム
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0