다음을 통해 공유


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
)

매개 변수

설명

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에서 지원

참고 항목

참조

IStylusAsyncPlugin 인터페이스

IStylusAsyncPlugin 멤버

Microsoft.StylusInput 네임스페이스

StylusDownData