Метод 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
Количество LONG, то есть количество пакетов, умноженное на количество свойств, в буфере pPacketProperties .
[in] pPacketProperties
Буфер, содержащий свойства пакета.
[in] fInkToDeviceScaleX
Коэффициент преобразования по горизонтали или оси X для горизонтальной оси из пространства рукописного ввода в координаты дигитайзера.
[in] fInkToDeviceScaleY
Коэффициент преобразования вертикальной оси (Y) для вертикальной оси из пространства рукописного ввода в координаты дигитайзера.
[in, out] ppIInkStroke
Указатель на новый росчерк. Это значение может иметь значение NULL.
Возвращаемое значение
Описание возвращаемых значений см. в разделе Классы и интерфейсы RealTimeStylus.
Комментарии
Используется в сочетании с методами IStrokeBuilder::AppendPackets и IStrokeBuilder::EndStroke Method . Метод IStrokeBuilder::BeginStroke начинает построение росчерка. По мере продолжения движения и получения дополнительных пакетов метод IStrokeBuilder::AppendPackets добавляет эти дополнительные данные обводки. Если перо планшета поднимается с поверхности и входящие пакеты больше не отображаются, вызывается метод IStrokeBuilder::EndStroke Method .
Примеры
В следующем примере C++ показана реализация метода метода IStylusPlugin::StylusDown в объекте интерфейса IStylusPlugin . Подключаемый модуль использует объект StrokeBuilder для создания нового росчерка рукописного ввода. Метод IStrokeBuilder::BeginStroke Вызывается из метода IStylusPlugin::StylusDown для запуска построения штриха.
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 |
Header | rtscom.h |
DLL | RTSCom.dll |
См. также раздел
Метод IStrokeBuilder::AppendPackets
Метод IStrokeBuilder::CreateStroke