共用方式為


InkCollector 類別

表示物件,用來從可用的手寫板裝置擷取筆墨

命名空間:  Microsoft.Ink
組件:  Microsoft.Ink (在 Microsoft.Ink.dll 中)

語法

'宣告
<UIPermissionAttribute(SecurityAction.Demand, Window := UIPermissionWindow.SafeTopLevelWindows)> _
<PermissionSetAttribute(SecurityAction.InheritanceDemand, Name := "FullTrust")> _
Public Class InkCollector _
    Implements IDisposable
'用途
Dim instance As InkCollector
[UIPermissionAttribute(SecurityAction.Demand, Window = UIPermissionWindow.SafeTopLevelWindows)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public class InkCollector : IDisposable
[UIPermissionAttribute(SecurityAction::Demand, Window = UIPermissionWindow::SafeTopLevelWindows)]
[PermissionSetAttribute(SecurityAction::InheritanceDemand, Name = L"FullTrust")]
public ref class InkCollector : IDisposable
/** @attribute UIPermissionAttribute(SecurityAction.Demand, Window = UIPermissionWindow.SafeTopLevelWindows) */
/** @attribute PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust") */
public class InkCollector implements IDisposable
public class InkCollector implements IDisposable

備註

警告

為了避免記憶體遺漏 (Memory Leak),對於已附加事件處理常式的任何 InkCollector 物件,您必須在物件超出範圍之前明確呼叫 Dispose 方法。

InkCollector 物件只會收集筆墨和筆勢輸入。InkCollector 的唯一目的是從硬體收集筆墨 (例如使用 CursorTablet 物件) 並傳遞給應用程式。基本上,它會將筆墨散發給一個或多個不同的 Ink 物件,做為持有散發筆墨的容器。

若要使用 InkCollector,請建立該物件、設定將會收集繪製筆墨的視窗,並進行啟用。啟用 InkCollector 後,它只可以使用三種模式中的一種模式來收集筆墨 (如 CollectionMode 列舉型別所指定):

  • InkOnly:會建立 Stroke 物件。

  • GestureOnly:會建立 Gesture 物件。

  • InkAndGesture:依據應用程式處理事件的方式而定,會建立筆劃、筆勢或可能兩個都建立。

對於手寫板範圍內游標的每個移動動作,InkCollector 會收集筆劃或筆勢,有時候兩個都會收集。筆勢支援是透過使用「Microsoft 筆勢辨識器」內建的支援。

InkCollector 會處理手寫板輸入。而筆墨的收集,可以同時從所有裝上的手寫板 (包括滑鼠) 進行。CursorCursorButton 物件中的變更可能會讓 InkCollector 物件引發事件。

InkCollector 也會管理在存在期間所遇到游標的清單。在 InkCollector 遇到新游標時,會將 InkCollectorCursorInRangeEventArgs 物件的 NewCursor 屬性設為 true 來引發 CursorInRange 事件。應用程式會使用 InkCollector 管理新游標。

特定的視窗控制代碼可以有一個以上的相關聯 InkCollector,即使其收集區域 (使用建構函式或 SetWindowInputRectangle 方法設定的) 彼此重疊也一樣。然而,唯一讓這種情況能夠運作的條件是,每個 InkCollector 要呼叫 SetSingleTabletIntegratedMode 並使用唯一的手寫板。這個行為可以很輕鬆地針對每個手寫板將筆墨儲存在個別物件中。

如果有個已啟用 InkCollector 物件 (使用 Enabled 屬性設定) 的視窗輸入矩形,與另一個已啟用 InkCollector 的視窗輸入矩形重疊,則會發生錯誤。

ms583683.alert_note(zh-tw,VS.90).gif注意事項:

只要同時間只啟用其中一個輸入矩形,就可以發生重疊而沒有錯誤。

MouseDownMouseMoveMouseUpMouseWheel 事件所傳回的 X 及 Y 座標是以像素為單位,而非以與筆墨空間關聯的 HIMETRIC 為單位。這是因為這些事件取代了非畫筆感知應用程式的滑鼠事件,而這一類的應用程式只能處理像素。

在使用 Microsoft Visual Basic 建立的應用程式和使用 Microsoft Foundation Classes (MFC) 建立的應用程式中,InkCollector 的行為是不同的。如需這些行為的詳細資訊,請參閱Ink Collection

ms583683.alert_note(zh-tw,VS.90).gif注意事項:

在非使用者介面 (UI) 執行緒上無法安全地釋放 InkCollector 物件。

為了提升應用程式的效能,應該在不再需要時手動處置 InkCollector 物件。

ms583683.alert_security(zh-tw,VS.90).gif安全性注意事項:

如果在部分信任的情況下使用,這個類別及其所有方法都需要 UIPermissionWindow.SafeTopLevelWindows 權限。如需詳細資訊,請參閱Security And Trust

繼承階層架構

System.Object
  Microsoft.Ink.InkCollector

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkCollector 成員

Microsoft.Ink 命名空間

Ink

InkOverlay

InkPicture

InkEdit

其他資源

Ink Collection