IStylusAsyncPlugin.StylusDown 메서드
업데이트: 2007년 11월
구현하는 플러그 인에 스타일러스가 디지타이저 표면에 접촉했음을 알립니다.
네임스페이스: 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
)
매개 변수
- sender
형식: Microsoft.StylusInput.RealTimeStylus
알림을 전송한 RealTimeStylus 개체입니다.
- data
형식: Microsoft.StylusInput.PluginData.StylusDownData
스타일러스에 연결된 Stylus 개체에 대한 정보입니다.
설명
data 매개 변수에 들어 있는 StylusDownData 개체의 상속된 SetData 메서드를 호출하면 패킷 데이터를 수정할 수 있습니다.
참고
value 매개 변수의 배열 길이가 상속된 PacketPropertyCount 속성 값과 같지 않으면 SetData 메서드에서 ArgumentException 예외가 throw됩니다.
예제
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에서 지원