Classe InkCollector

Rappresenta l'oggetto utilizzato per acquisire l'input penna da dispositivi tablet disponibili.

La creazione del controllo InkCollector dietro un controllo trasparente, ad esempio un GroupBox con il set di proprietà WS _ ex _ trasparente , impedisce a InkCollector di raccogliere input penna.

InkCollector presenta questi tipi di membri:

Eventi

La classe InkCollector presenta questi eventi.

Event Descrizione
CursorButtonDown Si verifica quando l'oggetto InkCollector rileva un pulsante del cursore inattivo.
CursorButtonUp Si verifica quando l'oggetto InkCollector rileva un pulsante del cursore.
CursorDown Si verifica quando il suggerimento del cursore Contatta la superficie del Tablet di digitalizzazione.
CursorInRange Si verifica quando un cursore entra nell'intervallo di rilevamento fisico (prossimità) del contesto della tavoletta.
CursorOutOfRange Si verifica quando il cursore esce dall'intervallo di rilevamento fisico (prossimità) del contesto della tavoletta.
DoubleClick Si verifica quando si fa doppio clic sull'oggetto InkCollector .
Movimento Si verifica quando viene riconosciuto un movimento specifico dell'applicazione.
MouseDown Si verifica quando il puntatore del mouse si trova sull'oggetto InkCollector e viene premuto un pulsante del mouse.
MouseMove Si verifica quando il puntatore del mouse viene spostato sull'oggetto InkCollector .
MouseUp Si verifica quando il puntatore del mouse si trova sull'oggetto InkCollector e viene rilasciato un pulsante del mouse.
MouseWheel Si verifica quando viene spostata la rotellina del mouse mentre l'oggetto InkCollector dispone dello stato attivo.
NewInAirPackets Si verifica quando viene rilevato un pacchetto in aria, che si verifica quando un utente sposta una penna accanto alla tavoletta e il cursore si trova all'interno della finestra dell'oggetto InkCollector oppure l'utente sposta il mouse all'interno della finestra associata dell'oggetto InkCollector .
NewPackets Si verifica quando l'oggetto InkCollector riceve i pacchetti.
Stroke Si verifica quando l'utente completa il disegno di un nuovo tratto su un tablet.
SystemGesture Si verifica quando viene riconosciuto un movimento del sistema.
TabletAdded Si verifica quando un Tablet viene aggiunto al sistema.
TabletRemoved Si verifica quando un Tablet viene rimosso dal sistema.

Interfacce

La classe InkCollector definisce queste interfacce.

Interfaccia Descrizione
IInkCollector Questo oggetto implementa l'interfaccia com IInkCollector .

Metodi

La classe InkCollector presenta questi metodi.

Metodo Descrizione
GetEventInterest Recupera lo stato corrente di un determinato evento dell'oggetto InkCollector , ovvero se l'evento viene ascoltato o utilizzato.
GetGestureStatus Recupera un valore che indica se l'oggetto InkCollector è interessato a un movimento particolare.
GetWindowInputRectangle Recupera il rettangolo della finestra, in pixel, all'interno del quale viene disegnato l'input penna.
SetAllTabletsMode Questa modalità consente all'oggetto InkCollector di raccogliere input penna da qualsiasi tablet collegato al Tablet PC.
SetEventInterest Modifica un valore che indica se è necessario ascoltare o utilizzare un evento specifico.
SetGestureStatus Modifica l'interesse dell'oggetto InkCollector in un movimento noto.
SetSingleTabletIntegratedMode Questa modalità consente all'oggetto InkCollector di raccogliere l'input penna da un solo tablet. L'input penna da altre tavolette viene ignorato dall'oggetto InkCollector .
SetWindowInputRectangle Modifica il rettangolo della finestra, in pixel, da utilizzare per eseguire il mapping dell'input penna alla finestra.

Proprietà

La classe InkCollector dispone di queste proprietà.

Proprietà Tipo di accesso Descrizione
AutoRedraw
Sola lettura
Ottiene o imposta un valore che specifica se l'oggetto InkCollector ridisegna l'input penna quando la finestra viene invalidata.
CollectingInk
Sola lettura
Ottiene un valore che specifica se l'input penna è attualmente in fase di disegno su un oggetto InkCollector .
CollectionMode
Sola lettura
Ottiene o imposta la modalità di raccolta che determina se l'input penna, i movimenti o entrambi sono riconosciuti durante la scrittura dell'utente.
Cursori
Sola lettura
Ottiene l'insieme di cursori che è possibile utilizzare nell'area Inking.
DefaultDrawingAttributes
Sola lettura
Ottiene o imposta l'oggetto InkDrawingAttributes predefinito, che specifica gli attributi di disegno utilizzati durante il disegno e la visualizzazione dell'input penna.
DesiredPacketDescription
Sola lettura
Ottiene o imposta un interesse per gli aspetti del pacchetto associato all'input penna disegnato sull'oggetto InkCollector .
DynamicRendering
Sola lettura
Ottiene o imposta un valore che indica se viene eseguito il rendering dell'input penna quando viene disegnato.
Abilitato
Sola lettura
Ottiene o imposta un valore che specifica se l'oggetto InkCollector raccoglie l'input penna.
Handle
Sola lettura
Ottiene o imposta l'handle della finestra a cui è associato l'oggetto InkCollector .
Input penna
Sola lettura
Ottiene o imposta l'oggetto InkDisp associato all'oggetto InkCollector .
MarginX
Sola lettura
Ottiene o imposta i margini lungo l'asse x, in pixel.
MarginY
Sola lettura
Ottiene o imposta i margini lungo l'asse y, in pixel.
MouseIcon
Sola lettura
Ottiene o imposta l'icona del mouse personalizzata corrente.
MousePointer
Sola lettura
Ottiene o imposta un valore che indica il tipo di puntatore del mouse visualizzato quando il mouse si trova su una particolare parte dell'oggetto.
Renderer
Sola lettura
Ottiene o imposta l'oggetto InkRenderer utilizzato per creare input penna.
SupportHighContrastInk
Sola lettura
Ottiene o imposta un valore che specifica se viene eseguito il rendering dell'input penna come un solo colore quando il sistema è in modalità Contrasto elevato.
Tablet
Sola lettura
Ottiene la tavoletta utilizzata attualmente dall'oggetto InkCollector per raccogliere l'input.

Commenti

È possibile creare un'istanza di questo oggetto chiamando il metodo CoCreateInstance in C++.

L'oggetto InkCollector raccoglie solo input penna e movimenti che sono input nella finestra specifica a cui è associato. L'unico scopo di InkCollector è raccogliere input penna dall'hardware, ad esempio tramite un oggetto IInkCursor e IInkTablet , e distribuirlo a un'applicazione. Essenzialmente funge da origine che distribuisce l'input penna in uno o più oggetti InkDisp diversi, che fungono da contenitore che contengono l'input penna distribuito.

Per usare un oggetto InkCollector, è necessario crearlo, indicare in quale finestra raccogliere l'input penna e abilitarlo. Una volta abilitato, può essere impostato per la raccolta solo in una delle tre modalità (la modalità è specificata nell'enumerazione InkCollectionMode ):

  • InkOnly, in cui viene creato un oggetto IInkStrokeDisp .
  • GestureOnly, in cui viene creato un oggetto IInkGesture .
  • InkAndGesture, in cui viene creato un tratto, un movimento o potenzialmente entrambi, a seconda del modo in cui l'applicazione gestisce gli eventi.

Ciò significa che, per ogni spostamento di un cursore compreso nell'intervallo di un tablet, l'oggetto InkCollector raccoglie sempre un tratto o un movimento e talvolta entrambi. Il supporto dei movimenti viene incorporato usando il riconoscitore di movimento Microsoft.

Un oggetto InkCollector gestisce tutto il tablet input. L'input penna può essere raccolto contemporaneamente da tutti i tablet collegati (incluso il mouse). Le modifiche apportate agli oggetti IInkCursor e IInkCursorButton possono causare l'attivazione di un evento da parte dell'oggetto InkCollector .

Un oggetto InkCollector gestisce anche l'elenco dei cursori incontrati durante la sua esistenza. Quando l'oggetto InkCollector rileva un nuovo cursore, l'evento CursorInRange viene attivato con il parametro NewCursor impostato su Variant _ true. Le applicazioni utilizzano l'oggetto InkCollector per gestire i nuovi cursori.

È possibile associare più di un oggetto InkCollector a un particolare handle di finestra, anche se le relative aree di raccolta, impostate nel costruttore o con il metodo SetWindowInputRectangle , si sovrappongono. Tuttavia, l'unico modo in cui funziona questo scenario è se ogni InkCollector chiama SetSingleTabletIntegratedMode e usa un tablet univoco. Questo comportamento consente di archiviare facilmente l'input penna in un oggetto separato per ogni tablet.

Si verifica un errore se il rettangolo di input della finestra di un oggetto InkCollector abilitato (impostato con la proprietà Enabled ) si sovrappone al rettangolo di input della finestra di un altro oggetto InkCollector abilitato.

Nota

La sovrapposizione può verificarsi senza un errore purché solo uno dei rettangoli di input sia abilitato in qualsiasi momento noto.

Gli eventi MouseDown, MouseMove, MouseUpe MouseWheel restituiscono le coordinate x e y in pixel e non le unità HIMETRIC associate allo spazio di input penna. Questo è dovuto al fatto che questi eventi sostituiscono gli eventi del mouse per le applicazioni non compatibili con la penna e queste applicazioni comprendono solo i pixel.

Nota

Non è possibile rilasciare in modo sicuro l'oggetto InkCollector in un thread non dell'interfaccia utente.

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

Requisiti

Requisito Valore
Client minimo supportato
Solo app desktop Windows XP Tablet PC Edition []
Server minimo supportato
Nessuno supportato
Intestazione
Msinkaut. h (richiede anche Msinkaut _ i. c)
Libreria
InkObj.dll

Vedi anche

Riferimento al controllo InkEdit

Classe InkDisp

InkOverlay (classe)

Riferimento al controllo InkPicture