Share via


Controlli input penna

La piattaforma Tablet PC offre due controlli, InkEdit e InkPicture, che consentono di aggiungere facilmente il riconoscimento dell'input penna e della grafia alle applicazioni Tablet PC. Il controllo InkEdit è gestito, ActiveX e Win32, mentre InkPicture ha solo le versioni di InkPicture e ActiveX gestite.

La differenza chiave tra i controlli è la modalità di salvataggio dei dati. Il controllo InkEdit salva l'input penna come testo per impostazione predefinita, mentre InkPicture salva l'input penna come input penna.

Il controllo InkEdit è destinato alla voce di testo tramite il riconoscimento della grafia. InkPicture è destinato all'annotazione (ad esempio, contrassegnando una diapositiva di presentazione o un'altra immagine).

Nel codice gestito creare controlli input penna nello stesso thread del thread principale per il modulo. Se viene creato un controllo InkEdit o InkPicture in un thread diverso, l'applicazione potrebbe non rispondere correttamente.

È necessario modificare in modo esplicito il modello di threading in appartamento a thread singolo (STA) prima di creare un controllo input penna. In questo modo il controllo deve essere creato nel thread principale. È possibile usare il codice C++ gestito seguente per impostare in modo esplicito il modello di threading.

Thread::get_CurrentThread()->set_ApartmentState(ApartmentState::STA);

È possibile usare il codice seguente per eseguire la stessa operazione in C#.

System.Threading.Thread.CurrentThread.ApartmentState = System.Threading.ApartmentState.STA;

Nel codice gestito, per evitare una perdita di memoria, è necessario chiamare in modo esplicito il metodo Dispose in qualsiasi controllo Tablet PC a cui è stato collegato un gestore eventi prima che il controllo esce dall'ambito.

Le sezioni seguenti descrivono i controlli input penna e l'uso di controlli input penna nelle applicazioni: