Freigeben über


IStrokeBuilder::BeginStroke-Methode (rtscom.h)

Beginnt einen Strich auf einem Freihandobjekt mithilfe von Paketdaten aus einem RealTimeStylus Class-Objekt .

Syntax

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

Der Tablet-Kontextbezeichner.

[in] sid

Der Tablettstiftbezeichner.

[in] pPacket

Der Anfang der Paketdaten. Dieses ist schreibgeschützt.

[in] cPacketProperties

Die Anzahl der LONGs, d. h. die Anzahl der Pakete multipliziert mit der Anzahl der Eigenschaften im pPacketProperties-Puffer .

[in] pPacketProperties

Der Puffer, der die Paketeigenschaften enthält.

[in] fInkToDeviceScaleX

Der horizontale Konvertierungsfaktor oder X-Achse für die horizontale Achse vom Freihandraum in die Digitizerkoordinaten.

[in] fInkToDeviceScaleY

Der vertikale Konvertierungsfaktor oder y-Achse für die vertikale Achse vom Freihandraum in die Digitizerkoordinaten.

[in, out] ppIInkStroke

Ein Zeiger auf den neuen Strich. Dieser Wert kann NULL sein.

Rückgabewert

Eine Beschreibung der Rückgabewerte finden Sie unter RealTimeStylus-Klassen und -Schnittstellen.

Hinweise

Wird in Verbindung mit den Methoden IStrokeBuilder::AppendPackets und IStrokeBuilder::EndStroke Method verwendet. Die IStrokeBuilder::BeginStroke-Methode beginnt mit dem Erstellen des Strichs. Wenn die Bewegung fortgesetzt wird und zusätzliche Pakete empfangen werden, fügt die IStrokeBuilder::AppendPackets-Methode diese zusätzlichen Strichdaten hinzu. Wenn der Tablet-Stift von der Oberfläche ausgelöst wird und keine eingehenden Pakete mehr vorhanden sind, wird die IStrokeBuilder::EndStroke-Methode aufgerufen.

Beispiele

Das folgende C++-Beispiel zeigt die Implementierung einer IStylusPlugin::StylusDown-Methode in einem IStylusPlugin Interface-Objekt . Das Plug-In verwendet ein StrokeBuilder-Objekt , um einen neuen Freihandstrich zu erstellen. Die IStrokeBuilder::BeginStroke-Methode wird von der IStylusPlugin::StylusDown-Methode aufgerufen, um die Erstellung eines Strichs zu initiieren.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP Tablet PC Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile rtscom.h
DLL RTSCom.dll

Weitere Informationen

DynamicRenderer-Klasse

IStrokeBuilder

IStrokeBuilder::AppendPackets-Methode

IStrokeBuilder::CreateStroke-Methode

IStrokeBuilder::EndStroke-Methode

StrokeBuilder-Klasse