2017-02-20 15 views
0

우리는 Windows 10을 실행하는 태블릿 PC에 배포 된 C, C++ 및 C++/CLI의 조합으로 작성된 레거시 응용 프로그램을 유지 관리하고 있습니다. 응용 프로그램 다시 작성은 옵션이 아니지만 사용자가 입력을 덮고있는 터치 키보드. 어떤 기술이 있다면 터치 키보드가 입력을 피하기 위해 사용할 수 있습니까?Windows 10에서 터치 키보드가 입력을 덮지 않도록하려면 어떻게해야합니까?

+1

[내 컨트롤이 터치 키보드로 덮어 지도록 컨트롤의 위치를 ​​변경하려면 어떻게합니까?] (https://blogs.msdn.microsoft.com/oldnewthing/20150608-00/?p=45431) – IInspectable

+0

어떤 GUI 도구 키트 당신이 사용하고 있습니까? –

+0

@DavidYaw .NET v4.5.2를 타겟팅하는 WinForms – rjzii

답변

1

키보드 위치를 제어 할 수 없으므로 키보드에서 중요한 부분을 다루지 않도록 응용 프로그램을 조정할 수만 있습니다. 커다란 서페이스 (목록보기, 문서 등)가있는 응용 프로그램은 일반적으로 캐럿/선택 영역을 볼 수 있도록 스스로 스크롤합니다. 가장 중요한 컨트롤을 볼 수 있도록 다른 윈도우의 크기가 대신 조정됩니다 (표준 열기/저장 대화 상자).

IFrameworkInputPaneHandler을 구현하는 COM 클래스를 만들면 IFrameworkInputPane::AdviseWithHWND에 자신을 등록하여 키보드 변경을 구독 할 수 있습니다. Raymond Chens blog에서 a example of this을 (를) 찾을 수 있습니다.

+0

응답 해 주셔서 감사합니다. 나는 어제 커피 부족의 비트를 가지고 있었고 적절한 Windows 10 대신 Windows 8을 설치했습니다. 아직 그 플랫폼에서 여전히 유효한 접근법이 있습니까? – rjzii

+0

예. MSDN에서는 Win10에서 IInputPanelConfiguration이 무시되지만 여전히 작동해야합니다. – Anders

+0

좋아요! 팀의 나머지 팀이이를 실행하고 POC가 있으면 대답을 수락합니다. – rjzii