共用方式為


IStylusPlugin::CustomStylusDataAdded 方法 (rtscom.h)

通知實作外掛程式,自定義手寫筆數據可供使用。

語法

HRESULT CustomStylusDataAdded(
  [in] IRealTimeStylus *piRtsSrc,
  [in] const GUID      *pGuidId,
  [in] ULONG           cbData,
  [in] const BYTE      *pbData
);

參數

[in] piRtsSrc

傳送通知的 RealTimeStylus 類別 (RTS) 物件。

[in] pGuidId

自訂數據的全域唯一標識碼 (GUID) 。

[in] cbData

緩衝區 pbData 的大小,以 char 為單位。 有效值為 0 到 0x7FFF,包含。

[in] pbData

緩衝區的指標,其中包含 RTS 物件所傳送的自定義數據。

傳回值

如需傳回值的描述,請參閱 RealTimeStylus 類別和介面

備註

處理 IStylusPlugin::CustomStylusDataAdded 方法 時,就會呼叫這個方法。 自定義數據會傳入 pbData 成員, pGuidId 成員中有 GUID 以傳遞類型資訊。 此類別無法獲得繼承。

範例

下列 C++ 程式代碼範例會實作 IStylusPlugin::CustomStylusDataAdded 方法,該方法 會處理來自手勢事件的數據,並將靜態文字控件 m_pStatusControl設定為手勢數據的字元串表示。

STDMETHODIMP CGestureHandler::CustomStylusDataAdded( 
            /* [in] */ IRealTimeStylus *piRtsSrc,
            /* [in] */ const GUID *pGuidId,
            /* [in] */ ULONG cbData,
            /* [in] */ const BYTE *pbData)
{
	// Did we get passed gesture data?
	if (*pGuidId == GUID_GESTURE_DATA)
	{
		// Another way to check for gestures is to see if the data
		// is the right size and actually points to something
		if ((cbData == sizeof(GESTURE_DATA)) && (pbData != NULL))
		{
			// Access the data coming as a GESTURE_DATA structure
			GESTURE_DATA* pGD = (GESTURE_DATA*)pbData;

			CString strStatus;
			CString strGestureId;
			
			// Helper function that maps the gesture ID to a string value
			SetGestureString(pGD->gestureId, &strGestureId);

			strStatus.Format(L"Gesture=%s\tConfidence=%d\tStrokes=%d", strGestureId, pGD->recoConfidence, pGD->strokeCount);
			m_pStatusControl->SetWindowTextW(strStatus);
		}
		else
		{
			m_pStatusControl->SetWindowTextW(L"Not gesture data.");
		}
	}
	else
	{
		m_pStatusControl->SetWindowTextW(L"Not gesture data.");
	}

	return S_OK;
}

規格需求

需求
最低支援的用戶端 Windows XP Tablet PC Edition [僅限傳統型應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 rtscom.h
Dll RTSCom.dll

另請參閱

GestureRecognizer 類別

IGestureRecognizer 介面

IStylusAsyncPlugin

IStylusPlugin 介面

IStylusSyncPlugin