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 的大小(以字符为单位)。 有效值为 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 |