IStylusPlugin::StylusInRange 메서드(rtscom.h)
스타일러스가 디지타이저의 검색 범위에 진입하고 있음을 구현 플러그 인에 알릴 수 있습니다.
구문
HRESULT StylusInRange(
[in] IRealTimeStylus *piRtsSrc,
[in] TABLET_CONTEXT_ID tcid,
[in] STYLUS_ID sid
);
매개 변수
[in] piRtsSrc
알림을 보낸 RealTimeStylus 클래스 개체입니다.
[in] tcid
태블릿 컨텍스트 식별자입니다.
[in] sid
스타일러스 식별자입니다.
반환 값
반환 값에 대한 설명은 RealTimeStylus 클래스 및 인터페이스를 참조하세요.
설명
스타일러스는 디지타이저 범위에 있습니다. 스타일러스가 반전된 경우 검사 지우개 모드로 전환하는 것이 좋습니다.
예제
다음 C++ 예제에서는 스타일러스에 있는 모든 단추의 상태 가져오고 TRACE 매크로를 사용하여 디버그 창에 보고하는 IStylusPlugin::StylusInRange 메서드 메서드를 구현합니다.
STDMETHODIMP CPacketModifier::StylusInRange(
/* [in] */ IRealTimeStylus *piRtsSrc,
/* [in] */ TABLET_CONTEXT_ID tcid,
/* [in] */ STYLUS_ID sid)
{
IInkCursor* pInkCursor;
HRESULT hr = piRtsSrc->GetStylusForId(sid, &pInkCursor);
if (SUCCEEDED(hr))
{
IInkCursorButtons* pInkCursorButtons;
hr = pInkCursor->get_Buttons(&pInkCursorButtons);
if (SUCCEEDED(hr))
{
LONG lButtonCount;
pInkCursorButtons->get_Count(&lButtonCount);
if (SUCCEEDED(hr))
{
IInkCursorButton* pInkCursorButton;
VARIANT index;
VariantInit(&index);
index.vt = VT_I4;
for (index.intVal = 0; index.intVal < lButtonCount; index.intVal++)
{
hr = pInkCursorButtons->Item(index, &pInkCursorButton);
if (SUCCEEDED(hr))
{
InkCursorButtonState currentState;
hr = pInkCursorButton->get_State(¤tState);
if (SUCCEEDED(hr))
{
switch(currentState)
{
case ICBS_Unavailable:
TRACE("ICBS_Unavailable\n");
break;
case ICBS_Up:
TRACE("ICBS_Up\n");
break;
case ICBS_Down:
TRACE("ICBS_Down\n");
break;
default:
TRACE("Cursor button state unknown.\n");
break;
}
}
}
}
VariantClear(&index);
}
}
}
return hr;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP 태블릿 PC 버전 [데스크톱 앱만 해당] |
지원되는 최소 서버 | 지원되는 버전 없음 |
대상 플랫폼 | Windows |
헤더 | rtscom.h |
DLL | RTSCom.dll |