Клавиатурный "фокус" при использовании xp/Vista стилей (с манифестом) - VB

Узнай цену своей работы

Формулировка задачи:

Как то рассматривал я "умный" вопрос про то как не рисовать точки вокруг слайдера при получении им фокуса(ибо похабство)
https://www.sql.ru/forum/actualthread.aspx?bid=22&tid=736404&hl=
Код я тогда как бы себе тогда придумал: детский, громоздский, идиотский и т.п.
Нарисовал, так сказать, "пользовательский контрол" (очень показательный кстати пример убийства времени + нуль новых знаний )
Все проще...
Внедряя xp/Vista стили методом манифеста понял что это решается автоматически, т.е. даже при XP-классический стиль кнопки уже не выглядят в точечках: но одно но.
Как правильно заметил Antonariy,

С манифестом получается так: если я запустил окно мышкой, то все выглядит "прилично".
Если клавиатурой, то "с точками-указателями на фокус".
Все вроде корректно.
Но я наблюдал как делает "нормальное" приложение.
Если вывели окно мышкой, то фокусы не показываются (что красиво ,да и незачем). Но при первом нажатии какого-нибудь "TAB" они сразу появляются и это разумно.
В моем же случае если "точки" изначально не вызвали (запуск с мышки), то они уже не появятся, хоть обожмись клавиатурой. И если на XP по теням рядом с кнопками еще можно понять где находимся(для многих элементов) , то на Висте это понять (где фокус) уже малореально.
Есть идеи, как этот "интерфейс" правильно реализовать?

Решение задачи: «Клавиатурный "фокус" при использовании xp/Vista стилей (с манифестом)»

textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> Form_Unload(Cancel <font color="blue">As</font> <font color="blue">Integer</font>)
    <font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Integer</font>
    <font color="blue">For</font> i = <font color="darkblue"><b>0</b></font> <font color="blue">To</font> Count - <font color="darkblue"><b>1</b></font>
        <font color="blue">On</font> <font color="blue">Error</font> <font color="blue">Resume</font> <font color="blue">Next</font>
        <font color="blue">Set</font> TBEvents(i) = <font color="blue">Nothing</font>
    <font color="blue">Next</font> i
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы