다음을 통해 공유


Tablet.GetPropertyMetrics 메서드

업데이트: 2007년 11월

알려진 PacketProperty 개체의 메트릭 데이터를 반환합니다.

네임스페이스:  Microsoft.Ink
어셈블리:  Microsoft.Ink(Microsoft.Ink.dll)

구문

‘선언
Public Function GetPropertyMetrics ( _
    id As Guid _
) As TabletPropertyMetrics
‘사용 방법
Dim instance As Tablet
Dim id As Guid
Dim returnValue As TabletPropertyMetrics

returnValue = instance.GetPropertyMetrics(id)
public TabletPropertyMetrics GetPropertyMetrics(
    Guid id
)
public:
TabletPropertyMetrics GetPropertyMetrics(
    Guid id
)
public TabletPropertyMetrics GetPropertyMetrics(
    Guid id
)
public function GetPropertyMetrics(
    id : Guid
) : TabletPropertyMetrics

매개 변수

반환 값

형식: Microsoft.Ink.TabletPropertyMetrics
이 메서드는 태블릿에서 지원되는 요청된 속성의 TabletPropertyMetrics 개체를 반환합니다.

설명

메트릭을 검색하는 속성에는 패킷이 생성된 시간이나 태블릿 화면에 가해지는 펜 팁의 압력이 포함될 수 있습니다.

참고

특정 메시지 처리기 내에서 이 함수를 호출하면 재진입이 발생하여 예기치 않은 결과가 나타납니다. WM_ACTIVATE, WM_ACTIVATEAPP, WM_NCACTIVATE, WM_PAINT, WM_SYSKEYDOWN(Alt+Tab 또는 Alt+Esc 키 조합을 처리하는 경우) 메시지 중 하나를 처리할 때는 재진입 호출이 발생하지 않도록 주의해야 합니다. wParam이 SC_HOTKEY 또는 SC_TASKLIST로 설정된 경우에는 WM_SYSCOMMAND도 여기에 해당합니다. 이는 단일 스레드 아파트 모델 응용 프로그램에 적용되는 문제입니다.

예제

이 예제에서는 Tablets 컬렉션의 기본 Tablet 개체에 대해 지원되는 각 속성의 속성 메트릭을 보고합니다.

Public Function Report_PropertyMetrics_DefaultTablet() As String

    Dim SB As StringBuilder = New StringBuilder(1024)
    Dim defTablet As Tablet = New Tablets().DefaultTablet


    ' Report on each of the property metrics for the default tablet
    SB.AppendLine("Propert metrics of the default tablet: " + defTablet.Name)
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.AltitudeOrientation, "AltitudeOrientation"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.AzimuthOrientation, "AzimuthOrientation"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.ButtonPressure, "ButtonPressure"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.NormalPressure, "NormalPressure"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.PacketStatus, "PacketStatus"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.PitchRotation, "PitchRotation"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.RollRotation, "RollRotation"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.SerialNumber, "SerialNumber"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.TangentPressure, "TangentPressure"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.TimerTick, "TimerTick"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.TwistOrientation, "TwistOrientation"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.X, "X"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.XTiltOrientation, "XTiltOrientation"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.Y, "Y"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.YawRotation, "YawRotation"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.YTiltOrientation, "YTiltOrientation"))
    SB.Append(GetPropertyMetrics(defTablet, PacketProperty.Z, "Z"))

    Return SB.ToString()

End Function


Public Function GetPropertyMetrics( _
    ByVal theTablet As Tablet, _
    ByVal PropertyID As Guid, _
    ByVal PropertyName As String) As String

    Dim SB As StringBuilder = New StringBuilder(1024)

    ' If this particular property is supported,
    ' report the name and property metrics information.
    If theTablet.IsPacketPropertySupported(PropertyID) Then
        SB.AppendLine(PropertyName)
        Dim theMetrics As TabletPropertyMetrics = theTablet.GetPropertyMetrics(PropertyID)
        SB.AppendLine(" Max: " + theMetrics.Maximum.ToString())
        SB.AppendLine(" Min: " + theMetrics.Minimum.ToString())
        SB.AppendLine(" Resolution: " + theMetrics.Resolution.ToString())
        SB.AppendLine(" Units: " + theMetrics.Units.ToString())

    Else
        SB.AppendLine(PropertyName + " [not supported]")
    End If

    Return SB.ToString()
End Function
public string Report_PropertyMetrics_DefaultTablet()
{
    StringBuilder SB = new StringBuilder(1024);
    Tablet defTablet = new Tablets().DefaultTablet;

    // Report on each of the property metrics for the default tablet
    SB.AppendLine("Propert metrics of the default tablet: " + defTablet.Name);
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.AltitudeOrientation, "AltitudeOrientation"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.AzimuthOrientation, "AzimuthOrientation"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.ButtonPressure, "ButtonPressure"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.NormalPressure, "NormalPressure"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.PacketStatus, "PacketStatus"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.PitchRotation, "PitchRotation"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.RollRotation, "RollRotation"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.SerialNumber, "SerialNumber"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.TangentPressure, "TangentPressure"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.TimerTick, "TimerTick"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.TwistOrientation, "TwistOrientation"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.X, "X"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.XTiltOrientation, "XTiltOrientation"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.Y, "Y"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.YawRotation, "YawRotation"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.YTiltOrientation, "YTiltOrientation"));
    SB.Append( GetPropertyMetrics(defTablet, PacketProperty.Z, "Z"));

    return SB.ToString();
}


public string GetPropertyMetrics(Tablet theTablet, Guid PropertyID, string PropertyName)
{
    StringBuilder SB = new StringBuilder(1024);

    // If this particular property is supported,
    // report the name and property metrics information.
    if (theTablet.IsPacketPropertySupported(PropertyID))
    {
        SB.AppendLine(PropertyName);
        TabletPropertyMetrics theMetrics = theTablet.GetPropertyMetrics(PropertyID);
        SB.AppendLine(" Max: " + theMetrics.Maximum.ToString());
        SB.AppendLine(" Min: " + theMetrics.Minimum.ToString());
        SB.AppendLine(" Resolution: " + theMetrics.Resolution.ToString());
        SB.AppendLine(" Units: " + theMetrics.Units.ToString());
    }
    else
    {
        SB.AppendLine(PropertyName + " [not supported]");
    }

    return SB.ToString();
}

플랫폼

Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

Tablet 클래스

Tablet 멤버

Microsoft.Ink 네임스페이스

TabletPropertyMetricUnit

Stroke.GetPacketValuesByProperty

Stroke.SetPacketValuesByProperty

Stroke.GetPacketDescriptionPropertyMetrics