Classe InkCollector
Rappresenta l'oggetto usato per acquisire input penna dai dispositivi tablet disponibili.
La creazione del controllo InkCollector dietro un controllo trasparente (ad esempio un oggetto GroupBox con il set di proprietà WS_EX_TRANSPARENT ) impedirà a InkCollector di raccogliere input penna.
InkCollector include questi tipi di membri:
Eventi
La classe InkCollector include questi eventi.
Event | Descrizione |
---|---|
CursorButtonDown | Si verifica quando InkCollector rileva un pulsante di cursore inattivo. |
CursorButtonUp | Si verifica quando InkCollector rileva un pulsante di cursore su. |
CursorDown | Si verifica quando la punta del cursore contatta la superficie del tablet di digitalizzazione. |
Cursorinrange | Si verifica quando un cursore entra nell'intervallo di rilevamento fisico (prossimità) del contesto del tablet. |
CursorOutOfRange | Si verifica quando il cursore lascia l'intervallo di rilevamento fisico (prossimità) del contesto del tablet. |
Doubleclick | Si verifica quando l'oggetto InkCollector viene fatto doppio clic. |
Movimento | Si verifica quando viene riconosciuto un gesto 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 la rotellina del mouse si sposta mentre l'oggetto InkCollector ha lo stato attivo. |
NewInAirPackets | Si verifica quando viene visualizzato un pacchetto in aria, che si verifica quando un utente sposta una penna vicino al tablet e il cursore si trova all'interno della finestra dell'oggetto InkCollector o l'utente sposta un mouse all'interno della finestra associata dell'oggetto oggetto InkCollector . |
NewPackets | Si verifica quando l'oggetto InkCollector riceve pacchetti. |
Infarto | Si verifica al termine del disegno di un nuovo tratto su qualsiasi tablet. |
SystemGesture | Si verifica quando viene riconosciuto un movimento di 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 include questi metodi.
Metodo | Descrizione |
---|---|
GetEventInterest | Recupera lo stato corrente di un particolare evento oggetto InkCollector , ovvero se l'evento viene ascoltato o usato. |
GetGestureStatus | Recupera se l'oggetto InkCollector è interessato a un determinato movimento. |
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 PC tablet. |
SetEventInterest | Modifica un valore che indica se un evento specifico deve essere in ascolto o usato. |
SetGestureStatus | Modifica l'interesse dell'oggetto InkCollector in un gesto noto. |
SetSingleTabletIntegratedMode | Questa modalità consente all'oggetto InkCollector di raccogliere input penna da un solo tablet. L'input penna da altri tablet viene ignorato dall'oggetto InkCollector . |
SetWindowInputRectangle | Modifica il rettangolo della finestra, in pixel, da usare per eseguire il mapping dell'input penna disegnato alla finestra. |
Proprietà
La classe InkCollector ha queste proprietà.
Proprietà | Tipo di accesso | Descrizione |
---|---|---|
AutoRedraw |
Sola lettura |
Ottiene o imposta un valore che specifica se inkCollector esegue il repaint dell'input penna quando la finestra non è valida. |
RaccoltaInk |
Sola lettura |
Ottiene un valore che specifica se l'input penna è attualmente in fase di disegno in un oggetto InkCollector . |
CollectionMode |
Sola lettura |
Ottiene o imposta la modalità raccolta che determina se l'input penna, i movimenti o entrambi vengono riconosciuti come scrive l'utente. |
Cursori |
Sola lettura |
Ottiene l'insieme Cursors disponibile per l'uso nell'area di input penna. |
DefaultDrawingAttributes |
Sola lettura |
Ottiene o imposta l'oggetto InkDrawingAttributes predefinito, che specifica gli attributi di disegno usati durante il disegno e la visualizzazione dell'input penna. |
DesiredPacketDescription |
Sola lettura |
Ottiene o imposta l'interesse sugli aspetti del pacchetto associato all'input penna disegnato nell'oggetto InkCollector . |
DynamicRendering |
Sola lettura |
Ottiene o imposta un valore che indica se viene eseguito il rendering dell'input penna mentre viene disegnato. |
Attivato |
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 determinata parte dell'oggetto. |
Renderer |
Sola lettura |
Ottiene o imposta l'oggetto InkRenderer utilizzato per disegnare l'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 il dispositivo tablet attualmente utilizzato 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 vengono inseriti nella finestra specifica a cui è associata. L'unico scopo di InkCollector è raccogliere l'input penna dall'hardware (ad esempio tramite un oggetto IInkCursor e IInkTablet ) e recapitarlo a un'applicazione. Funge essenzialmente 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 InkCollector, crearlo, indicare in quale finestra raccogliere l'input penna disegnato e abilitarlo. Dopo l'abilitazione, può essere impostata per la raccolta in una sola 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 movimento di un cursore compreso nell'intervallo di un tablet, InkCollector raccoglie sempre un tratto o un gesto e talvolta entrambi. Il supporto dei movimenti è integrato usando il riconoscimento movimento Microsoft.
Un InkCollector gestisce tutti gli input del tablet. L'inchiostro può essere raccolto contemporaneamente da tutte le compresse collegate (incluso il mouse). Le modifiche apportate agli oggetti IInkCursor e IInkCursorButton possono causare l'attivazione di un evento da parte dell'oggetto InkCollector .
Un InkCollector gestisce anche l'elenco di cursori che incontra durante la sua esistenza. Quando InkCollector rileva un nuovo cursore, l'evento CursorInRange viene generato con il parametro newCursor impostato su VARIANT_TRUE. Le applicazioni usano InkCollector per gestire i nuovi cursori.
È possibile associare più di un controllo InkCollector a un handle di finestra specifico, anche se le relative aree di raccolta, impostate nel costruttore o con il metodo SetWindowInputRectangle , si sovrappongono. Tuttavia, l'unico modo in cui questo scenario funziona è se ogni InkCollector chiama SetSingleTabletIntegratedMode e usa un tablet univoco. Questo comportamento semplifica l'archiviazione dell'input penna in un oggetto separato per ogni tablet.
Si verifica un errore se il rettangolo di input della finestra di un controllo InkCollectors abilitato (impostato con la proprietà Enabled ) sovrappone il rettangolo di input della finestra di un altro 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, MouseUp e MouseWheel restituiscono coordinate x e y in pixel e non le unità HIMETRIC associate allo spazio input penna. Questo perché questi eventi sostituiscono gli eventi del mouse di applicazioni non consapevoli della penna e queste applicazioni comprendono solo i pixel.
Nota
L'oggetto InkCollector non può essere rilasciato in modo sicuro 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 |
Windows XP Tablet PC Edition [solo app desktop] |
Server minimo supportato |
Nessuno supportato |
Intestazione |
|
Libreria |
|