IInkCollector::get_CollectionMode 方法 (msinkaut.h)

取得或設定集合模式,判斷筆跡、手勢或兩者是否都辨識為使用者寫入。

這是可讀寫的屬性。

語法

HRESULT get_CollectionMode(
  InkCollectionMode *Mode
);

參數

Mode

傳回值

備註

如需您可以使用的模式清單,請參閱 InkCollectionMode 列舉類型。 不過,在已安裝 Microsoft Windows XP Tablet PC Edition 軟體開發工具包的系統上使用 CollectionMode 屬性 (SDK) 但未安裝辨識器時,模式無法設定為 GestureOnlyInkAndGesture

注意如果您嘗試在收集筆跡時變更 CollectionMode 屬性,InkCollector 物件、InkOverlay 物件或 InkPicture 控件會產生錯誤。 若要避免此衝突,請先檢查 CollectionInk 屬性,再變更 CollectionMode 屬性。
 
每個 CollectionMode 值都會發生下列行為:

InkOnly 模式

  • 只會收集筆跡;手勢不是。
  • 筆勢事件興趣會設定為 FALSE, (所有其他事件興趣會保持) 。

GestureOnly 模式

  • 只會收集手勢;筆跡不是。 筆劃會在傳送至手勢辨識器之後刪除。
  • 筆勢事件興趣會設定為TRUE, (所有其他事件興趣會保持) 。
  • 筆跡收集器不會引發下列筆劃和封包相關事件: CursorDownStrokeNewPacketsNewInAirPackets 事件。
  • 引發數據指標事件。
  • 一律會刪除筆跡。

InkAndGesture 模式

  • 會收集筆跡和手勢。
  • 只會辨識單筆劃手勢。
  • 筆勢事件興趣會設定為TRUE, (所有其他事件興趣會保持) 。
  • 手勢事件會先引發,讓您接受或取消手勢。 若要取消手勢,請將 Cancel 參數設定為 TRUE。 取消手勢會強制筆跡收集器收集筆跡。
變更收集模式並不會改變個別手勢的狀態。

當 CollectionMode 設定為 InkAndGesture,且已知手勢的物件/控件興趣 (設定為 setGestureStatus 方法時,可能會發生不必要的行為,方法是呼叫 SetGestureStatus 方法) 。 如果您繪製類似已知手勢的筆跡,且已知手勢位於辨識器替代專案清單中, 則即使手勢 不是頂端替代專案,筆勢事件也會引發並消失筆跡。 若要防止筆跡消失並取消筆勢的集合,如果事件是您不感興趣的事件,請將 Cancel 參數設定為 TRUE

CollectionMode 設定為 GestureOnly 時,當使用者新增手勢時和 發生 Gesture 事件之間的逾時是固定值,無法以程式設計方式改變。 筆勢辨識在 InkAndGesture 模式中更快。 若要防止在 InkAndGesture 模式中收集筆跡,您可以:

  1. CollectionMode 屬性設定為 InkAndGesture
  2. Stroke 事件中,刪除筆劃。
  3. Gesture 事件中,處理手勢。
  4. DynamicRendering 設定為 FALSE ,以防止筆墨在進行時流動。

規格需求

需求
最低支援的用戶端 Windows XP Tablet PC Edition [僅限傳統型應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 msinkaut.h
程式庫 InkObj.dll

另請參閱

CollectingInk 屬性

Enabled 屬性

IInkCollector

InkCollectionMode 列舉

InkCollector 類別