Элементы управления чернилами

Платформа планшетного ПК предоставляет два элемента управления, InkEdit и InkPicture, что позволяет легко добавлять чернила и распознавание рукописного ввода в приложения для планшетных ПК. Элемент управления InkEdit имеет управляемые, ActiveX и Win32 версии, в то время как InkPicture имеет только управляемые inkPicture и версии ActiveX.

Ключевое различие между элементами управления заключается в том, как сохраняются данные. Элемент управления InkEdit по умолчанию сохраняет рукописные данные в виде текста, а InkPicture сохраняет их как рукописный ввод.

Элемент управления InkEdit предназначен для записи текста с помощью распознавания рукописного ввода. InkPicture предназначен для аннотаций (например, разметки слайда презентации или другого рисунка).

В управляемом коде создайте элементы управления рукописным вводом в том же потоке, что и основной поток формы. Если элемент управления InkEdit или InkPicture создается в другом потоке, ваше приложение может не отвечать должным образом.

Перед созданием элемента управления рукописным вводом необходимо явно изменить модель многозадачности на одноапартаментную модель (STA). Это приводит к созданию элемента управления в основном потоке. Для явного задания модели потоков можно использовать следующий управляемый код C++.

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

Для выполнения той же задачи в C#можно использовать следующий код.

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

В управляемом коде, чтобы избежать утечки памяти, необходимо явно вызвать метод Dispose на любом элементе управления Tablet PC, к которому был подключен обработчик событий, прежде чем элемент управления выходит за пределы области видимости.

В следующих разделах описываются элементы управления чернилами и использование элементов управления чернилами в приложениях.