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
Metode IStrokeBuilder::AppendPackets
IStrokeBuilder::CreateStroke Method
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk