Udostępnij przez


Elementy sterujące tuszem

Platforma Tablet PC udostępnia dwie kontrolki, InkEdit i InkPicture, co umożliwia łatwe dodawanie pisma odręcznego i rozpoznawania pisma ręcznego do aplikacji tabletu. Kontrolka InkEdit ma zarządzane, ActiveX i Win32 wersje, podczas gdy inkPicture ma tylko zarządzane wersje InkPicture i ActiveX.

Kluczową różnicą między kontrolkami jest sposób zapisywania danych. Kontrolka InkEdit domyślnie zapisuje atrament jako tekst, a InkPicture zapisuje atrament jako atrament.

Kontrolka InkEdit jest przeznaczona do wprowadzania tekstu za pomocą rozpoznawania pisma ręcznego. InkPicture jest przeznaczony do adnotacji (na przykład oznaczania slajdu prezentacji lub innego obrazu).

W kodzie zarządzanym utwórz kontrolki atramentowe w tym samym wątku, co główny wątek formularza. Jeśli kontrolka InkEdit lub InkPicture zostanie utworzona w innym wątku, aplikacja może nie odpowiadać poprawnie.

Przed utworzeniem kontrolki atramentu należy wyraźnie zmienić model wątków na jednowątkowe środowisko (STA). Powoduje to, że kontrolka zostaje utworzona w wątku głównym. Aby jawnie ustawić model wątkowy, możesz użyć następującego kodu w zarządzanym C++.

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

Możesz użyć następującego kodu, aby wykonać to samo w języku C#.

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

W kodzie zarządzanym, aby uniknąć przecieku pamięci, należy jawnie wywołać metodę Dispose na dowolnej kontrolce tabletu, do której została dołączona procedura obsługi zdarzeń, zanim kontrolka zostanie usunięta z zakresu.

W poniższych sekcjach opisano kontrolki atramentu i ich użycie w aplikacjach.