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 |