Controles de entrada de lápiz
La plataforma Tablet PC proporciona dos controles, InkEdit y InkPicture, que le permiten agregar fácilmente el reconocimiento de tinta y escritura a mano a las aplicaciones tablet PC. El control InkEdit tiene versiones administradas, ActiveX y Win32, mientras que InkPicture solo tiene las versiones administradas inkPicture y ActiveX .
La diferencia clave entre los controles es cómo se guardan los datos. El control InkEdit guarda la entrada de lápiz como texto de forma predeterminada, mientras que InkPicture guarda la entrada de lápiz como entrada de lápiz.
El control InkEdit está pensado para la entrada de texto mediante el reconocimiento de escritura a mano. InkPicture está pensado para anotaciones (por ejemplo, marcar una diapositiva de presentación u otra imagen).
En código administrado, cree controles de entrada de lápiz en el mismo subproceso que el subproceso principal para el formulario. Si se crea un control InkEdit o InkPicture en un subproceso diferente, es posible que la aplicación no responda correctamente.
Debe cambiar explícitamente el modelo de subprocesos a un solo subproceso (STA) antes de crear un control de entrada de lápiz. Esto hace que el control se cree en el subproceso principal. Puede usar el siguiente código de C++ administrado para establecer explícitamente el modelo de subprocesos.
Thread::get_CurrentThread()->set_ApartmentState(ApartmentState::STA);
Puede usar el código siguiente para hacer lo mismo en C#.
System.Threading.Thread.CurrentThread.ApartmentState = System.Threading.ApartmentState.STA;
En el código administrado, para evitar una pérdida de memoria, debe llamar explícitamente al método Dispose en cualquier control tablet PC al que se haya asociado un controlador de eventos antes de que el control salga del ámbito.
En las secciones siguientes se describen los controles de entrada de lápiz y el uso de controles de entrada de lápiz en aplicaciones: