Condividi tramite


Classe InkCollector

Aggiornamento: novembre 2007

Rappresenta un oggetto utilizzato per acquisire l'input penna dai dispositivi del Tablet PC disponibili.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
<UIPermissionAttribute(SecurityAction.Demand, Window := UIPermissionWindow.SafeTopLevelWindows)> _
<PermissionSetAttribute(SecurityAction.InheritanceDemand, Name := "FullTrust")> _
Public Class InkCollector _
    Implements IDisposable
'Utilizzo
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

Note

Avviso

Per evitare una perdita di memoria, è necessario chiamare in modo esplicito il metodo Dispose su qualsiasi oggetto InkCollector a cui è stato associato un gestore eventi, prima che l'oggetto esca dall'ambito.

L'oggetto InkCollector raccoglie solo input penna e di movimento. L'unico scopo di InkCollector è raccogliere l'input penna dall'hardware (utilizzando, ad esempio, oggetti Cursor e Tablet) e inviarlo a un'applicazione. In pratica, distribuisce l'input penna in uno o più oggetti Ink diversi, fungendo da contenitore per l'input penna distribuito.

Per utilizzare un oggetto InkCollector, crearlo, impostare la finestra che raccoglierà l'input penna disegnato e attivarlo. Dopo essere stato attivato, l'oggetto InkCollector può raccogliere l'input penna in una sola delle tre modalità (come specificato nell'enumerazione CollectionMode):

  • InkOnly, nella quale viene creato un oggetto Stroke.

  • GestureOnly, nella quale viene creato un oggetto Gesture.

  • InkAndGesture, nella quale viene creato un tratto, un movimento o anche entrambi, a seconda di come l'applicazione gestisce gli eventi.

Per ogni movimento di un cursore all'interno dell'intervallo di una tavoletta, l'oggetto InkCollector raccoglie un tratto o un movimento e talvolta entrambi. Il supporto del movimento viene incorporato utilizzando il Riconoscimento movimenti Microsoft.

Un oggetto InkCollector gestisce l'input Tablet. L'input penna può essere raccolto contemporaneamente da tutte le tavolette associate (incluso il mouse). Eventuali modifiche negli oggetti Cursor e CursorButton possono determinare la generazione di un evento da parte dell'oggetto InkCollector.

Un oggetto InkCollector gestisce inoltre un elenco di cursori riscontrati dal momento dell'attivazione. Quando l'oggetto InkCollector rileva un nuovo cursore, l'evento CursorInRange viene generato con la proprietà NewCursor dell'oggetto InkCollectorCursorInRangeEventArgs impostata su true. Le applicazioni utilizzano l'oggetto InkCollector per gestire i nuovi cursori.

È possibile associare più di un oggetto InkCollector a un determinato handle della finestra, anche se le relative aree di raccolta, impostate utilizzando il costruttore o il metodo SetWindowInputRectangle, sono sovrapposte. Tuttavia, questo scenario funziona solo se ciascun oggetto InkCollector chiama il metodo SetSingleTabletIntegratedMode e utilizza un'unica tavoletta. Questo comportamento facilita l'archiviazione dell'input penna in un oggetto distinto per ogni tavoletta.

Viene generato un errore se il rettangolo di input della finestra di un oggetto InkCollector attivato (impostato con la proprietà Enabled) risulta sovrapposto al rettangolo di input della finestra di un altro oggetto InkCollector attivato.

Nota

La sovrapposizione può verificarsi senza errori se viene attivato solo uno dei rettangoli di input per volta.

Gli eventi MouseDown, MouseMove, MouseUp e MouseWheel restituiscono le coordinate X e Y espresse in pixel e non in unità HIMETRIC associate allo spazio di input penna. Ciò è dovuto al fatto che questi eventi sostituiscono gli eventi del mouse di applicazioni che non sono in grado di rilevare la penna e che tali applicazioni riconoscono solo i pixel.

Le applicazioni create tramite Microsoft Visual Basic presentano un comportamento dell'oggetto InkCollector diverso rispetto a quelle create tramite Microsoft Foundation Classes (MFC). Per ulteriori informazioni su tali comportamenti, vedere Ink Collection.

Nota

L'oggetto InkCollector non può essere rilasciato in modo sicuro su un thread di un'interfaccia non utente.

Per migliorare le prestazioni dell'applicazione, eliminare manualmente un oggetto InkCollector quando non è più necessario.

ms583683.alert_security(it-it,VS.90).gifNota sulla sicurezza:

Se utilizzati in attendibilità parziale, questa classe e tutti i relativi metodi richiedono l'autorizzazione UIPermissionWindow.SafeTopLevelWindows. Per ulteriori informazioni, vedere Security And Trust.

Gerarchia di ereditarietà

System.Object
  Microsoft.Ink.InkCollector

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

Membri InkCollector

Spazio dei nomi Microsoft.Ink

Ink

InkOverlay

InkPicture

InkEdit

Altre risorse

Ink Collection