2017-02-20 3 views
0

Мы поддерживаем устаревшее приложение, написанное в сочетании C, C++ и C++/CLI, которое развертывается на планшетном ПК под управлением Windows 10. Повторная запись приложения не является вариантом, но пользователи жалуются на сенсорная клавиатура, закрывающая входные данные. Какую технику, если таковые имеются, я могу использовать, чтобы избежать попадания на сенсорную клавиатуру?В Windows 10, как я могу избежать использования сенсорной клавиатуры, закрывающей входы?

+1

[Как изменить положение элементов управления, чтобы они не были закрыты сенсорной клавиатурой?] (Https://blogs.msdn.microsoft.com/oldnewthing/20150608-00/?p=45431) – IInspectable

+0

Какой инструментарий для графического интерфейса пользователя ты используешь? –

+0

@DavidYaw WinForms с таргетингом .NET v4.5.2 – rjzii

ответ

1

Вы не можете контролировать, где находится клавиатура, вы можете адаптировать приложение так, чтобы клавиатура не охватывала важные части. Приложения с одной большой поверхностью (список, документ и т. Д.) Обычно прокручиваются, поэтому видимость/выбор видимы. Некоторые другие окна вместо этого изменяют размер (стандартный диалог открытия/сохранения), так что отображается наиболее важный элемент управления.

Если вы создаете COM-класс, который реализует IFrameworkInputPaneHandler, то вы можете подписаться на изменения клавиатуры, зарегистрировавшись с помощью IFrameworkInputPane::AdviseWithHWND. Вы можете найти a example of this на блоге Raymond Chens.

+0

Спасибо за ответ. Вчера у меня было немного «недостатка кофе» и вместо Windows 10 вместо Windows 8 был установлен Windows 8. До сих пор все еще работает на этой платформе? – rjzii

+0

Да. MSDN говорит, что IInputPanelConfiguration игнорируется в Win10, но это все равно должно работать. – Anders

+0

Отлично! Я запустил его остальной частью команды, а затем приму ваш ответ, как только у нас будет POC. – rjzii

Смежные вопросы