IStrokeBuilder::BeginStroke 方法 (rtscom.h)
使用 RealTimeStylus 類別 物件的封包數據,開始筆墨物件的筆劃。
語法
HRESULT BeginStroke(
[in] TABLET_CONTEXT_ID tcid,
[in] STYLUS_ID sid,
[in] const LONG *pPacket,
[in] ULONG cPacketProperties,
[in] PACKET_PROPERTY *pPacketProperties,
[in] FLOAT fInkToDeviceScaleX,
[in] FLOAT fInkToDeviceScaleY,
[in, out] IInkStrokeDisp **ppIInkStroke
);
參數
[in] tcid
平板電腦內容識別碼。
[in] sid
手寫筆標識碼。
[in] pPacket
封包數據的開頭。 此範例僅供讀取。
[in] cPacketProperties
PPacketProperties 緩衝區中的封包數目乘以屬性數目的 LONG 計數。
[in] pPacketProperties
包含封包屬性的緩衝區。
[in] fInkToDeviceScaleX
水平軸或 x 軸的水平軸轉換因數,從筆跡空間到數位板座標。
[in] fInkToDeviceScaleY
垂直軸或 Y 軸的垂直軸轉換因數,從筆跡空間到數位板座標。
[in, out] ppIInkStroke
新筆劃的指標。 此值可以是 NULL。
傳回值
如需傳回值的描述,請參閱 RealTimeStylus 類別和介面。
備註
與 IStrokeBuilder::AppendPackets 方法和IStrokeBuilder::EndStroke 方法 方法搭配使用。 IStrokeBuilder::BeginStroke 方法 會開始建置筆劃。 當動作繼續且收到其他封包時, IStrokeBuilder::AppendPackets 方法 會新增該額外的筆劃數據。 當平板電腦手寫筆從表面引發,而且沒有更多傳入的封包時,會呼叫 IStrokeBuilder::EndStroke 方法 。
範例
下列 C++ 範例顯示 IStylusPlugin::StylusDown 方法 在 IStylusPlugin Interface 物件上的實作。 外掛程式會使用 StrokeBuilder 物件來建立新的筆墨筆劃。 從 IStylusPlugin::StylusDown 方法呼叫 IStrokeBuilder::BeginStroke 方法,以起始筆劃的建構。
STDMETHODIMP CStrokeBuilderPlugin::StylusDown(
/* [in] */ IRealTimeStylus *piRtsSrc,
/* [in] */ const StylusInfo *pStylusInfo,
/* [in] */ ULONG cPropCountPerPkt,
/* [size_is][in] */ LONG *pPacket,
/* [out][in] */ LONG **ppInOutPkt)
{
FLOAT fInkToDeviceScaleX;
FLOAT fInkToDeviceScaleY;
ULONG cPacketProperties;
PACKET_PROPERTY* pPacketProperties;
// Get the info we need to call BeginStroke
HRESULT hr = piRtsSrc->GetPacketDescriptionData(pStylusInfo->tcid, &fInkToDeviceScaleX, &fInkToDeviceScaleY,
&cPacketProperties, &pPacketProperties);
if (SUCCEEDED(hr))
{
// Start creating the stroke
hr = m_pStrokeBuilder->BeginStroke(pStylusInfo->tcid, pStylusInfo->cid, pPacket, cPropCountPerPkt,
pPacketProperties, fInkToDeviceScaleX, fInkToDeviceScaleY, &m_piStroke);
}
return hr;
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP Tablet PC Edition [僅限傳統型應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | rtscom.h |
Dll | RTSCom.dll |
另請參閱
IStrokeBuilder::AppendPackets 方法