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

解説

ms583683.alert_caution(ja-jp,VS.90).gif注意 :

メモリ リークを避けるため、イベント ハンドラが結合されているオブジェクトがスコープの外に出る前に、任意の InkCollector オブジェクトで Dispose メソッドを明示的に呼び出す必要があります。

InkCollector オブジェクトは、インク入力とジェスチャ入力のみを収集します。InkCollector のただ 1 つの目的はハードウェアからインクを収集し (たとえば、Cursor オブジェクトおよび Tablet オブジェクトを使用することにより) アプリケーションに渡すことです。基本的に、それはインクを 1 つ以上の異なる Ink オブジェクトに分散し、分散されたインクを保持するコンテナとして機能します。

InkCollector を使用するには、それを作成し、描画されたインクを収集するウィンドウを設定して有効にします。InkCollector が有効にされた後に、これらの 3 つのモデル (CollectionMode 列挙体で指定される) の 1 つのみからインクを収集することができます。

  • InkOnly。これにより Stroke オブジェクトが作成されます。

  • GestureOnly。これにより Gesture オブジェクトが作成されます。

  • InkAndGesture。アプリケーションがイベントを処理する方法に応じて、ストローク、ジェスチャ、場合によっては両方が作成されます。

タブレットの範囲内のカーソルが動くたびに、InkCollector はストロークまたはジェスチャ、あるいは場合によってその両方を収集します。ジェスチャ サポートは Microsoft ジェスチャ認識エンジンを使用して組み込まれています。

InkCollector がタブレット入力を処理します。インクはアタッチされたすべてのタブレット (マウスを含む) から同時に収集可能です。Cursor オブジェクトおよび CursorButton オブジェクトを変更すると、InkCollector オブジェクトがイベントを発生する可能性があります。

InkCollector はまた、起動中に検出したカーソルの一覧を管理します。InkCollector が新しいカーソルを検出すると、InkCollectorCursorInRangeEventArgs オブジェクトの NewCursor プロパティが true に設定されて CursorInRange イベントが発生します。アプリケーションは InkCollector を使用して新しいカーソルを管理します。

コンストラクタまたは SetWindowInputRectangle メソッドを使用して設定されたコレクション領域が重なる場合でも、1 つ以上の InkCollector を特定のウィンドウ ハンドルに関連付けることができます。ただし、この方法は、InkCollector それぞれが SetSingleTabletIntegratedMode を呼び出し、一意のタブレットを使用する場合にのみ動作します。この動作により、各タブレットにおける個別のオブジェクト内のインクを容易に格納できます。

1 つの有効な InkCollector オブジェクト (Enabled プロパティで設定) のウィンドウ入力の四角形が、他の有効な InkCollector のウィンドウ入力の四角形と重なる場合はエラーが発生します。

ms583683.alert_note(ja-jp,VS.90).gifメモ :

入力された四角形の 1 つのみがある時点で有効にされている場合に限り重なりが許可されます。

MouseDownMouseMoveMouseUp、および MouseWheel イベントはピクセル単位で x 座標および y 座標を返します。インク空間と関連付けられている HIMETRIC 単位ではありません。これは、これらのイベントがペンを認識しないアプリケーションのマウス イベントを置き換え、このようなアプリケーションはピクセルのみを認識するからです。

InkCollector は、Microsoft Visual Basic を使用して作成されたアプリケーションと Microsoft Foundation Classes (MFC) を使用して作成されたアプリケーションとでは動作が異なります。これらの動作の詳細については、「Ink Collection」を参照してください。

ms583683.alert_note(ja-jp,VS.90).gifメモ :

InkCollector オブジェクトは非ユーザー インターフェイス (UI) スレッド上では安全に解放できません。

アプリケーションのパフォーマンスを改善するために、不要になった場合は InkCollector オブジェクトを手動で破棄してください。

ms583683.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

部分信頼で使用している場合、このクラスとすべてのメソッドに UIPermissionWindow.SafeTopLevelWindows アクセス許可が必要です。詳細については、「Security and Trust」を参照してください。

継承階層

System.Object
  Microsoft.Ink.InkCollector

スレッド セーフ

この型のすべてのパブリック 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