PenInputPanel 클래스를 사용하여 입력 패널 프로그래밍
[PenInputPanel 이 Microsoft.Ink.TextInput으로 대체되었습니다. 텍스트 입력 패널 프로그래밍을 참조하세요.]
PenInputPanel 개체를 사용하여 시스템 수준 태블릿 PC 입력 패널을 프로그래밍하는 방법에 대한 설명입니다.
입력 패널과 PenInputPanel 개체 비교
Microsoft Windows XP Tablet PC Edition 버전 1.0에서 시스템 수준 태블릿 PC 입력 패널은 Windows 플랫폼 전체에서 텍스트 입력을 수행하는 범용 메커니즘을 제공하지만 프로그래밍 방식 액세스를 제공하지는 않습니다. Windows XP Tablet PC Edition SDK(소프트웨어 개발 키트) 버전 1.5 이상에서 PenInputPanel 개체를 사용하면 텍스트 입력 도구를 애플리케이션에 직접 통합하고 이전에 사용할 수 없었던 수준의 컨트롤을 제공할 수 있습니다. Windows XP Tablet PC Edition 2005부터 시스템 수준 입력 패널이 PenInputPanel 개체에서 제공하는 현재 위치 입력 기능 등을 포함하도록 업그레이드되었습니다.
다음 그래픽은 자동 클레임 양식 샘플 샘플 위에 표시된 입력 패널을 보여줍니다.
입력 패널은 추가 코드 없이 Windows XP Tablet PC Edition 2005 이상에서 실행되는 모든 애플리케이션에 동일한 현재 위치 입력 기능을 제공하여 PenInputPanel 을 대체합니다. PenInputPanel 개체 사용에 대한 이 문서는 이전 버전과의 호환성을 위해 제공됩니다. 이미 PenInputPanel 개체를 사용하는 애플리케이션은 Windows XP Tablet PC Edition 2005 이상에서 애플리케이션을 실행할 때 입력 패널이 PenInputPanel 대신 표시된다는 점을 제외하고 동일하게 작동합니다.
태블릿 PC용 새 애플리케이션을 개발하고 현재 위치 사용자 입력 솔루션을 사용하려는 경우 입력 패널은 Windows XP Tablet PC Edition 2005 이상에서 자동으로 제공합니다. PenInputPanel 개체를 인스턴스화할 필요가 없습니다.
입력 패널을 사용하지 않도록 설정
입력 패널을 사용하지 않도록 설정하려는 경우가 있을 수 있습니다. 여기에는 두 가지 방법이 있습니다. 프로그래밍 방식으로 또는 전체 애플리케이션에 대해 입력 패널을 사용하지 않도록 설정하는 레지스트리 항목을 설정하여 이 작업을 수행할 수 있습니다.
프로그래밍 방식으로 입력 패널 비활성화
입력 패널을 프로그래밍 방식으로 사용하지 않도록 설정하려면 PenInputPanel 을 인스턴스화하고 AutoShow 속성을 False로 설정합니다.
using Microsoft.Ink;
// ...
private PenInputPanel theInputPanel;
// ...
private void Form1_Load(object sender, System.EventArgs e)
{
// Attach the Input Panel to a specific TextBox control.
theInputPanel = new PenInputPanel(textBox1);
// Disable the Input Panel for the TextBox.
theInputPanel.AutoShow = false;
}
단일 애플리케이션에서 여러 컨트롤에 대해 입력 패널을 사용하지 않도록 설정하려면 각 컨트롤에 대해 PenInputPanel 개체를 인스턴스화하고 각각 에 대해 AutoShow속성을 False 로 설정하거나 단일 PenInputPanel 을 인스턴스화하고 입력 포커스가 변경되면 컨트롤에서 컨트롤로 이동합니다. 이러한 두 기술에 대한 자세한 내용은 PenInputPanel 샘플 항목을 참조하세요.
레지스트리를 통해 입력 패널을 사용하지 않도록 설정
전체 애플리케이션에 대해 입력 패널을 사용하지 않도록 레지스트리 항목을 설정할 수 있습니다. 그러나 파일 열기 대화 상자, 인쇄 대화 상자 및 파일 저장 대화 상자와 같은 일반적인 대화 상자에 대해서도 사용하지 않도록 설정합니다. 이렇게 하면 애플리케이션의 사용자 환경이 다른 태블릿 PC 애플리케이션과 일치하지 않을 수 있습니다.
DisableInPlace
레지스트리 키를 0으로 설정하면 입력 패널 UI(사용자 인터페이스)가 애플리케이션에 나타나지 않습니다. 레지스트리 키를 에 HKEY_LOCAL_MACHINE\Software\Microsoft\TabletTip\
배치 DisableInPlace
해야 합니다. 그런 다음 입력 패널을 사용하지 않도록 설정할 애플리케이션의 전체 경로를 사용하여 새 레지스트리 값을 추가합니다. 다음 예제 레지스트리 항목은 MyApp이라는 애플리케이션에서 입력 패널을 사용하지 않도록 설정합니다.
[HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\WindowsNT\TabletTIP\DisableInPlace]``"C:\Program Files\My App\MyApp.exe"=dword:00000000
입력 패널 UI를 사용하지 않도록 설정한 후에도 애플리케이션에 문제가 계속 발생하는 경우 기본 프레임워크를 사용하지 않도록 설정해야 할 수 있습니다. 이 프레임워크는 애플리케이션에서 caret 위치를 쿼리합니다. 예를 들어 입력 패널은 애플리케이션의 caret 추적 코드에 버그를 노출할 수 있습니다. 또한 caret 추적 쿼리를 끄면 입력 패널 UI가 나타나지 않습니다. 프레임워크를 사용하지 않도록 설정하려면 레지스트리 키를 0으로 설정합니다 EnableCaretTracking
. 에서 이 키를 찾습니다 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\CaretTracking\
.
참고
Windows XP의 접근성 도구 및 음성 기술도 이 프레임워크를 사용하므로 쿼리를 사용하지 않도록 설정하면 애플리케이션에서 이러한 기능도 비활성화됩니다.
입력 패널 및 웹 페이지
웹 페이지에서 API를 사용하려면 부분 신뢰 환경에서 작동해야 합니다. 모든 PenInputPanel 클래스 멤버는 다음을 제외하고 완전 신뢰가 필요합니다.
- PenInputPanel 생성자 (관리 코드에만 해당)
- Dispose 메서드 (관리 코드만 해당)
- AttachedEditControl 속성 (관리 코드에만 해당)
- AutoShow 속성
이러한 API는 웹 페이지와 같은 부분 신뢰 환경에서 작동하므로 PenInputPanel 개체를 인스턴스화하고, 컨트롤에 연결하고, 해당 컨트롤에 대해 입력 패널을 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 웹에서 PenInputPanel 클래스 및 잉크를 사용하여 입력 패널 프로그래밍을 참조 하세요.
PenInputPanel 개체
이 항목의 나머지 항목에서는 태블릿 PC 지원 애플리케이션에서 PenInputPanel 개체를 사용하는 방법을 설명합니다. 구체적으로 이 항목에서는 프로그래밍 개체를 설명할 때 PenInputPanel 개체, UI 요소를 참조할 때 펜 입력 패널, 일반적으로 태블릿 PC 화면의 측면에 있는 전역 입력 패널을 참조할 때 PC 입력 패널(또는 입력 패널)을 참조합니다.
다음 섹션에서는 PenInputPanel 개체 및 UI에 대해 설명합니다.