Bagikan melalui


IStrokeBuilder::BeginStroke method (rtscom.h)

Memulai goresan pada objek tinta dengan menggunakan data paket dari objek Kelas RealTimeStylus .

Sintaks

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
);

Parameter

[in] tcid

Pengidentifikasi konteks tablet.

[in] sid

Pengidentifikasi stylus.

[in] pPacket

Awal data paket. Sampel ini bersifat baca-saja.

[in] cPacketProperties

Jumlah LONG, yang merupakan jumlah paket dikalikan dengan jumlah properti, dalam buffer pPacketProperties .

[in] pPacketProperties

Buffer yang berisi properti paket.

[in] fInkToDeviceScaleX

Sumbu horizontal, atau x, faktor konversi untuk sumbu horizontal dari ruang tinta ke koordinat digitizer.

[in] fInkToDeviceScaleY

Sumbu vertikal, atau y, faktor konversi untuk sumbu vertikal dari ruang tinta ke koordinat digitizer.

[in, out] ppIInkStroke

Penunjuk ke stroke baru. Nilai ini bisa NULL.

Mengembalikan nilai

Untuk deskripsi nilai pengembalian, lihat Kelas dan Antarmuka RealTimeStylus.

Keterangan

Digunakan bersama dengan metode IStrokeBuilder::AppendPackets Method dan IStrokeBuilder::EndStroke Method . IStrokeBuilder::BeginStroke Method mulai membangun stroke. Ketika gerakan berlanjut dan paket tambahan diterima, metode Metode IStrokeBuilder::AppendPackets menambahkan data stroke tambahan tersebut. Ketika pena tablet dinaikkan dari permukaan dan tidak ada lagi paket masuk, metode Metode IStrokeBuilder::EndStroke dipanggil.

Contoh

Contoh C++ berikut menunjukkan implementasi metode Metode IStylusPlugin::StylusDown pada objek Antarmuka IStylusPlugin . Plug-in menggunakan objek StrokeBuilder untuk membuat goresan tinta baru. Metode Metode IStrokeBuilder::BeginStroke dipanggil dari Metode IStylusPlugin::StylusDown untuk memulai pembangunan stroke.

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;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP Tablet PC Edition [hanya aplikasi desktop]
Server minimum yang didukung Tidak ada yang didukung
Target Platform Windows
Header rtscom.h
DLL RTSCom.dll

Lihat juga

Kelas DynamicRenderer

IStrokeBuilder

Metode IStrokeBuilder::AppendPackets

IStrokeBuilder::CreateStroke Method

IStrokeBuilder::EndStroke Method

Kelas StrokeBuilder