共用方式為


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(&currentState);

						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

另請參閱

IStylusAsyncPlugin

IStylusPlugin 介面

IStylusPlugin::StylusOutOfRange 方法

IStylusSyncPlugin