Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Dynamisches Renderer-Plug-In ist ein Objekt, das die Tablet-Stiftdaten in Echtzeit anzeigt, da es vom RealTimeStylus-Objekt behandelt wird. Später können ereignisse wie z. B. eine Formularaktualisierung, das Plug-In für dynamische Renderer oder ein Freihandsammler-Plug-In die Freihandeingabe neu zeichnen.
Das DynamicRenderer-Objekt
Das RealTimeStylus-Objekt implementiert die IStylusSyncPlugin Schnittstelle. Das DynamicRenderer Objekt rendert die Freihandeingabe in Echtzeit, wie sie gezeichnet wird. Wenn die Refresh-Methode aufgerufen wird, während das DynamicRenderer--Objekt aktiviert ist, wird der DynamicRenderer Objekt den derzeit erfassten Strich neu gezeichnet. Die eigenschaft "Enabled" des DynamicRenderer Objekts wird anfangs auf FALSE-festgelegt.
Anmerkung
Legen Sie beim Aufrufen der Refresh-Methode des DynamicRenderer Objekts innerhalb eines Paint-Ereignishandler s im verwalteten Code die ClipRectangle-Eigenschaft des DynamicRenderer Objekts auf die PaintEventArgs ClipRectangle-Eigenschaft Objekts fest.
Das DynamicRenderer--Objekt kann Freihanddaten vorübergehend zwischenspeichern. Um dieses Feature in verwaltetem Code zu verwenden, legen Sie die EnableDataCache-eigenschaft auf TRUEfest. Wenn das DynamicRenderer--Objekt einen Aufruf seiner IStylusSyncPlugin.StylusUp-Methode empfängt, speichert es die Strichdaten zwischen und fügt der Eingabewarteschlange benutzerdefinierte Eingabestiftdaten als Reaktion auf das StylusUpData- -Objekt für den Strich hinzu. Die Eigenschaft "CustomStylusData" Objekt CustomDataId wird auf den Wert DynamicRendererCachedDataGuid festgelegt, und die Data-Eigenschaft des CustomStylusData Objekts enthält ein DynamicRendererCachedData-Objekt. Rufen Sie die DynamicRenderer--Methode des ReleaseCachedData- Objekts auf, sobald der Strich erfasst wurde und statisch gerendert werden kann. Wenn die Refresh-Methode aufgerufen wird, während das DynamicRenderer--Objekt aktiviert ist, werden alle zwischengespeicherten Striche vom DynamicRenderer-Objekt neu gezeichnet. Wenn die eigenschaft DataCacheEnabled auf falsefestgelegt ist, werden die zwischengespeicherten Strichdaten gelöscht.
Das folgende Diagramm veranschaulicht, wie das DynamicRenderer--Objekt Daten zu den Tabletstiftdaten hinzufügt, wenn die DataCacheEnabled- Eigenschaft des DynamicRenderer Objekts festgelegt wird.
In diesem Diagramm stellt der kreisförmige Buchstabe "SD" ein StylusDown- -Objekt und die Kreise mit dem Buchstaben "P" Pakete Objekte dar, die bereits der Ausgabewarteschlange des RealTimeStylus Objekts hinzugefügt wurden und noch nicht an die asynchrone Plug-In-Auflistung gesendet wurden. Der kreisförmige Buchstabe "SU" stellt ein StylusUp Objekt dar, das das RealTimeStylus--Objekt derzeit verarbeitet. Sie wird an die synchrone Plug-In-Sammlung gesendet und dann in der Ausgabewarteschlange platziert. Die Kreise mit dem Buchstaben "DR" stellen benutzerdefinierte Eingabestiftdaten dar, die der Eingabewarteschlange durch den DynamicRenderer Plug-In als Reaktion auf die mit "SU" verknüpfte Eingabestiftbenachrichtigung hinzugefügt werden. Anschließend werden die benutzerdefinierten Eingabestiftdaten mit dem Buchstaben "DR" an die synchronen Plug-Ins und dann an die Ausgabewarteschlange übergeben, bevor die nächsten Tabletstiftdaten verarbeitet werden. Der leere Kreis stellt die Position in der Ausgabewarteschlange dar, an der zukünftige Tablet-Stiftdaten hinzugefügt werden. Außerdem wird im Diagramm das Freihandsammler-Plug-In dargestellt, das das DynamicRenderer-Objekt ReleaseCachedData--Methode aufruft, um die zwischengespeicherten Strichdaten freizugeben, nachdem das Ink-Collection-Plug-In den Strich verarbeitet hat.
Besondere Überlegungen
In der folgenden Liste werden weitere Punkte beschrieben, die bei Verwendung des DynamicRenderer--Objekts berücksichtigt werden.
Sie sollten kein DynamicRenderer--Objekt an mehrere RealTimeStylus--Objekt anfügen. Sobald zwei RealTimeStylus-Objekte, an die das DynamicRenderer-Objekt angefügt ist, aktiviert sind, tritt Folgendes auf.
- Das DynamicRenderer--Objekt löst als Reaktion auf den zweiten Aufruf der RealTimeStylusEnabled--Methode eine Ausnahme aus.
- Das zweite RealTimeStylus--Objekt, das aktiviert wurde, generiert ein Error-Objekt und benachrichtigt die übrigen Plug-Ins in den Plug-In-Auflistungen des Fehlers.
- Das DynamicRenderer- Objekt beendet das Rendern von Tablet-Stiftdaten.
Das RealTimeStylus--Objekt löst eine Ausnahme aus, wenn die AddCustomStylusDataToQueue-Methode mit dem guid-Parameter aufgerufen wird, der auf den guid-Bezeichner "DynamicRendererCachedDataGuid global eindeutig" (GUID) festgelegt ist.
Das DynamicRenderer--Objekt wird als COM-Wrapper (Component Object Model) implementiert, und Sie können dessen IStylusSyncPlugin Schnittstellenmethoden nicht direkt aufrufen. Weitere Informationen zum COM-Vorgang und zum RealTimeStylus--Objekt finden Sie unter Implementierungshinweise für die StylusInput-APIs.
Benutzerdefiniertes Rendering
Sie können ein eigenes Dynamic-Renderer-Plug-In erstellen, indem Sie ein synchrones Plug-In erstellen, das den StylusDown-, Paketenund StylusUp- Benachrichtigungen abonniert. Das Plug-In kann dann den Strich so rendern, wie er gezeichnet wird. Dies kann eine Möglichkeit sein, ein Auswahltool zu implementieren, das beispielsweise eine Freiformauswahl oder ein Auswahlfeld verwendet.