#vb6 #tabindex #tab-ordering
#vb6 #tabindex #порядок табуляции
Вопрос:
Кто-нибудь знает, почему метки и фреймы (и, возможно, другие элементы управления) имеют TabIndex
свойство в VB6? Есть ли для этого какое-то применение; какая-то особенность программирования с графическим интерфейсом, которую я должен включить в свои приложения (о которой я в блаженном неведении)?
Ответ №1:
Чтобы подтвердить то, что сказал Коди в комментариях. В вводе вручную VB6 для TabIndex говорится:
Элементы управления, которые не могут получить фокус (элементы управления Frame и Label), остаются в порядке табуляции, но пропускаются во время табуляции.
но
Если вы нажимаете клавишу доступа для элемента управления Frame или Label, фокус перемещается к следующему элементу управления в порядке табуляции, который может получить фокус.
Ответ №2:
TabIndex
это свойство используется для определения последовательности сфокусированных элементов управления, когда пользователь нажимает клавишу TAB.
Если управление с помощью TabIndex=5
сфокусировано и пользователь нажимает TAB, управление с помощью TabIndex=6
будет сфокусировано.
Комментарии:
1. Ну, да, но метки и фреймы не попадают в фокус (или попадают при некоторых обстоятельствах?); в этом загадка.
2. @Brian Hooper: насколько я помню о VB6, метки фокусируются, но вы можете указать им переместить фокус на другой элемент управления (например, текстовое поле или ListView)
3. @Brian: Метки и фреймы не попадают в фокус. Они передают фокус элементу управления, сразу следующему за ними в порядке табуляции. Это полезно для установки фокуса на текстовое поле или поле со списком, например, с использованием комбинации ALT букв, поскольку у них нет собственного текста для отображения мнемоники.
4. Windows делает это повсеместно, и это очень важно для обеспечения доступности для пользователей, использующих только клавиатуру. Проверьте некоторые панели управления, удерживая нажатой клавишу ALT, чтобы отображалась мнемоника.
5. @Marco: Без проблем. Это точно такая же сделка в любом другом приложении с графическим интерфейсом Windows, от простого Win32 API до VB 6, .NET WinForms и выше. Порядок табуляции чрезвычайно важен для правильного.