Dynamic-Renderer外掛程式
動態轉譯器外掛程式是一個物件,會在 RealTimeStylus 物件處理平板電腦手寫筆資料時即時顯示。 之後,針對表單重新整理、動態轉譯器外掛程式或筆跡收集器外掛程式等事件,可能會重新繪製筆跡。
DynamicRenderer 物件
RealTimeStylus物件會實作IStylusSyncPlugin介面。 DynamicRenderer物件會即時轉譯筆跡,因為正在繪製。 當啟用DynamicRenderer物件時呼叫Refresh方法時,DynamicRenderer物件會重新繪製目前所收集的筆劃。 DynamicRenderer物件的Enabled屬性一開始設定為FALSE。
注意
從 Managed 程式碼中的Paint事件處理常式內呼叫DynamicRenderer物件的Refresh方法時,請將DynamicRenderer 物件的 ClipRectangle屬性設定為PaintEventArgs物件的ClipRectangle屬性。
DynamicRenderer物件可以暫時快取筆跡資料。 若要在 Managed 程式碼中使用此功能,請將 EnableDataCache 屬性設定為 TRUE。 當 DynamicRenderer 物件收到其 IStylusSyncPlugin.StylusUp 方法的呼叫時,它會快取筆劃資料,並將自訂手寫筆資料新增至輸入佇列,以回應筆劃的 StylusUpData 物件。 CustomStylusData物件的CustomDataId屬性會設定為DynamicRendererCachedDataGuid值,而CustomStylusData物件的 Data 屬性包含 DynamicRendererCachedData 物件。 收集筆劃後,呼叫 DynamicRenderer 物件的 ReleaseCachedData 方法,而且可以靜態轉譯。 當啟用DynamicRenderer物件時呼叫Refresh方法時,DynamicRenderer物件會重新繪製所有快取的筆劃。 當 DataCacheEnabled 屬性設定為 false時,會刪除快取的筆劃資料。
下圖說明當設定 DynamicRenderer物件的DataCacheEnabled屬性時,DynamicRenderer物件如何將資料新增至平板電腦畫筆資料。
在此圖表中,字母為 「SD」 的圓形代表StylusDown物件,而圓形字母為 「P」 代表已新增至RealTimeStylus物件的輸出佇列且尚未傳送至非同步外掛程式集合的Packets物件。 字母為 「SU」 的圓形代表RealTimeStylus物件目前正在處理的StylusUp物件。 它會傳送至同步外掛程式集合,然後將它放在輸出佇列上。 以 「DR」 表示由 DynamicRenderer 外掛程式新增至輸入佇列的自訂手寫筆資料,以回應與 「SU」 相關聯的手寫筆通知。 接著,以 「DR」 表示的自訂手寫筆資料會傳遞至同步外掛程式,然後在處理下一個平板電腦手寫筆資料之前傳送至輸出佇列。 空的圓形代表輸出佇列中新增未來平板電腦手寫筆資料的位置。 圖表上也表示的筆跡收集器外掛程式會呼叫 DynamicRenderer 物件的 ReleaseCachedData 方法,以在筆跡集合外掛程式處理筆劃之後釋放快取的筆劃資料。
特殊考慮
下列清單描述使用 DynamicRenderer 物件時要考慮的其他重點。
您不應該將 DynamicRenderer 物件附加至多個 RealTimeStylus 物件。 啟用DynamicRenderer物件的兩個RealTimeStylus物件之後,就會發生下列情況。
- DynamicRenderer物件會擲回例外狀況,以回應其RealTimeStylusEnabled方法的第二次呼叫。
- 第二個已啟用 的 RealTimeStylus 物件會產生 Error 物件,並通知其錯誤外掛程式集合中的其餘外掛程式。
- DynamicRenderer物件會停止轉譯平板電腦手寫筆資料。
當呼叫其 AddCustomStylusDataToQueue方法,並將guid參數設定為 DynamicRendererCachedDataGuid 全域唯一識別碼時,RealTimeStylus物件會擲回例外狀況, (GUID) 。
DynamicRenderer物件會實作為元件物件模型, (COM) 包裝函式,而且您無法直接呼叫其IStylusSyncPlugin介面方法。 如需 COM 作業和 RealTimeStylus 物件的詳細資訊,請參閱 手寫筆Input API 的實作注意事項。
自訂轉譯
您可以建立訂閱 StylusDown、 Packets和 StylusUp 通知的同步外掛程式,以建立自己的動態轉譯器外掛程式。 您的外掛程式接著可以在繪製筆劃時呈現。 例如,這可能是實作使用自由格式選取範圍或選取方塊之選取工具的其中一種方式。