IStylusPlugin::StylusInRange 方法 (rtscom.h)
通知實作外掛程式手寫筆正在輸入數位板的偵測範圍。
語法
HRESULT StylusInRange(
[in] IRealTimeStylus *piRtsSrc,
[in] TABLET_CONTEXT_ID tcid,
[in] STYLUS_ID sid
);
參數
[in] piRtsSrc
傳送通知的 RealTimeStylus Class 物件。
[in] tcid
平板電腦內容識別碼。
[in] sid
手寫筆標識碼。
傳回值
如需傳回值的描述,請參閱 RealTimeStylus 類別和介面。
備註
手寫筆位於數位板的範圍內。 這是檢查手寫筆是否反轉的好位置,如果是的話,請切換至橡皮擦模式。
範例
下列 C++ 範例會實作 IStylusPlugin::StylusInRange 方法 方法,以取得手寫筆上所有按鈕的狀態,並使用 TRACE 宏將它們報告至偵錯視窗。
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 Tablet PC Edition [僅限傳統型應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | rtscom.h |
Dll | RTSCom.dll |