잉크 컨트롤
태블릿 PC 플랫폼은 잉크 및 필기 인식을 태블릿 PC 애플리케이션에 쉽게 추가할 수 있는 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;
관리 코드에서 메모리 누수 방지를 위해 컨트롤이 scope 나가기 전에 이벤트 처리기가 연결된 태블릿 PC 컨트롤에서 Dispose 메서드를 명시적으로 호출해야 합니다.
다음 섹션에서는 잉크 컨트롤 및 애플리케이션에서 잉크 컨트롤의 사용에 대해 설명합니다.