Невозможно скрыть строку меню SIP при отображении и повторном скрытии SIP

У меня есть решение для Windows Mobile 6, в котором я пытаюсь скрыть нижнюю панель. У меня есть собственная кнопка для отображения SIP (она больше и удобнее для пользователя, чем стандартная). Это вызывает штраф SIP, и я использую MoveWindow, чтобы переместить клавиатуру вниз, чтобы она оказалась внизу экрана: «Изображение

Однако, когда я пытаюсь восстановить окно, когда скрываю SIP, появляется стандартная клавиатура: Изображение SIP-клавиатуры, которую я не делаю.  не хочу

Я использую код, найденный в другом месте в stackoveflow: Как вы переместите программную панель ввода (клавиатуру) в нижнюю часть экрана Windows Mobile?, но не можете заставить ее полностью работать из-за проблемы, описанной выше.


person John Warlow    schedule 19.10.2012    source источник
comment
Почему вы возвращаете SIP в поле зрения, пока работает ваше приложение? Это вернет кнопку SIP. Лучше сохраните положение и размер кнопки SIP, переместите ее и в конце приложения восстановите ее. Или, что еще проще, определите свою форму как WindowState = Maximized.   -  person josef    schedule 20.10.2012
comment
Я думаю, что происходит то, что кнопка SIP все еще появляется, хотя клавиатура была перемещена (на изображении выше есть небольшая зеленая линия той же ширины, что и кнопка SIP на нижнем изображении). Когда клавиатура SIP затем скрыта, (SIP.Enabled = false) кнопка SIP становится видимой. Мне не удалось избавиться от вредителя. Установка WindowState = Maximized, к сожалению, не скрывает кнопку SIP :(   -  person John Warlow    schedule 24.10.2012


Ответы (1)


OK. Наконец-то взломал это. Мне нужно было использовать SetWindowPos, используя SWP_NOACTIVATE, а не MoveWindow. MoveWindow каким-то образом изменяет включенное состояние SIP, вызывая проблемы.

person John Warlow    schedule 24.10.2012
comment
Спасибо за размещение решения - person josef; 27.10.2012
comment
@josef Пожалуйста. Я разместил это, потому что потратил слишком много часов на поисковые системы, пытаясь найти ответ. Надеюсь, если у кого-то такая же проблема, как у меня, это исправит для них и избавит от головной боли! - person John Warlow; 28.10.2012