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 |