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: