10.5. Фокус. Последовательность переходов. Меню Фокус
Объект, имеющий фокус, может получать от пользователя с помощью мыши и клавиатуры информацию. В системе Windows одновременно могут выполняться несколько приложений, но только у приложения, имеющего фокус, будет активный заголовок окна, который выделяется повышенной яркостью. Только это окно может взаимодействовать с пользователем. На форме приложения с несколькими полями ввода только поле, имеющее фокус, будет отображать вводимый с клавиатуры текст. Когда объект получает или теряет фокус, происходят соответственно события GetFocus и LostFocus. Формы и большинство элементов управления поддерживают эти события. Объекту можно передать фокус с помощью мыши и клавиши доступа во время выполнения, а также из программного кода с помощью метода Set Focus. Объект получает фокус, если его свойства Enabled (Разрешено) и Visible (Видимый) установлены в True. Свойство Enabled позволяет объекту реагировать на инициированные пользователем события, например, ввод с клавиатуры и нажатие кнопок мыши. Свойство Visible определяет, виден ли объект на экране.
Элементы управления имеют событие Validate (Проверка достоверности). Оно происходит перед тем, как элемент теряет фокус. Однако это событие возникает, только если свойство CausesValidation элемента перед получением фокуса имело значение True. Событие Validate происходит перед потерей фокуса, поэтому во многих случаях оно более подходит для проверки достоверности данных, чем событие LostFocus. Некоторые элементы не могут получать фокус. К ним относятся: Frame (Рамка), Image (Изображение), Label (Метка), Line (Линия), Shape (Контур), Timer (Таймер).
Установка последовательности перехода
Последовательность перехода (Tab Order) - это последовательность перехода от элемента управления к элементу по клавише Tab. У каждой формы своя последовательность перехода. Обычно она соответствует последовательности создания элементов.
Пусть созданы два поля ввода и кнопка. При запуске приложения первое созданное поле имеет фокус. Нажатие клавиши Tab перемещает фокус на второе созданное поле, а последующее нажатие на кнопку. Для изменения последовательности перехода необходимо установить свойство TabIndex элемента, которое определяет его позицию в последовательности переходов. По умолчанию его значение для элемента, созданного на форме первым, равно 0, у элемента, созданного вторым - 1 и т. д. При изменении позиции элемента в последовательности переходов автоматически перенумеровываются позиции других элементов, отражая вставку или удаление элемента. Элементы управления, которые не могут получить фокус, при нажатии клавиши <Tab> пропускаются. Для удаления элемента из последовательности перехода следует установить значение его свойства TabStop равным False или 0. При этом элемент сохраняет свою позицию в последовательности перехода, но при переходе от элемента к элементу по клавише Tab он пропускается.
- Введение в программирование и основы алгоритмизации
- 1.2. Понятие "правильной" программы
- 1.3. Надежность программного средства
- 1.4. Технология программирования как разработка надежных пс
- 1.5. Информатизация общества
- Тема 2 источники ошибок в программных средствах
- 2.1. Интеллектуальные возможности человека
- 2.2. Неправильный перевод как причина ошибок в пс
- 2.3. Модель перевода
- На каждом из этих шагов человек может совершить ошибку разной природы.
- 2.4. Основные пути борьбы с ошибками
- Тема 3 общие принципы разработки программных средств
- 3.1. Специфика разработки пс
- 3.2. Жизненный цикл пс
- 3.3. Понятие качества пс
- 3.4. Внешнего описания и его роль в обеспечении качества пс
- 3.5. Обеспечение надежности – основной мотив разработки пс
- 3.5. Борьба со сложностью систем и обеспечение точности перевода
- Тема 4 разработка структуры программы. Модульное и объектно-ориентированное программирование
- 4.1. Цель модульного программирования
- 4.2. Основные характеристики программного модуля
- 4.3. Методы разработки структуры программы
- 4.4. Объектно-ориентированное программирование
- 4.5. События и событийная модель
- Тема 5 Алгоритмизация и разработка программного модуля
- 5.1. Определение алгоритма
- Алгоритмизация - техника составления алгоритмов и программ для решения задач на эвм.
- 5.2. Изобразительные средства описания алгоритмов
- 5.3. Блок-схемы алгоритмов. Графические символы
- 5.4. Порядок разработки программного модуля
- 5.5. Структурное программирование
- 5.6. Пошаговая детализация и понятие о псевдокоде
- Тема 6 тестирование и отладка программного средства
- 6.1. Основные понятия
- 6.2. Принципы и виды отладки пс
- 6.3. Заповеди отладки пс
- 6.4. Автономная отладка пс
- Тема 7 Методы разработки алгоритмов
- 7.1. Метод частных целей
- 7.2. Метод подъема
- 7.3. Программирование с отходом назад
- Тема 8 Алгоритмы сортировки
- 8.1. Сортировка. Основные понятия
- 8.2. Пузырьковая сортировка
- 8.3. Сортировка с помощью дерева
- 8.4. Пирамидальная сортировка
- 8.5. Быстрая сортировка
- Тема 9 Алгоритмы поиска и перебора
- 9.1. Поиск. Основные понятия
- 9.2. Бинарный поиск
- 9.3. Поиск в сети
- Тема 10 Событийно-управляемое программирование на языке Visual Basic
- 10.1. Историческая справка
- 10.2. Основы Visual Basic
- Среда Windows: окна, события, сообщения
- Интерактивная разработка
- Интегрированная среда разработки
- 10.3. Формы и элементы управления
- Разработка и установка свойств формы
- События и методы формы
- Кнопки управления как основа выполнения действий
- 10.4. Элементы управления пользователя
- Флажки и переключатели
- Другие стандартные элементы управления
- 10.5. Фокус. Последовательность переходов. Меню Фокус
- Основы меню
- Контекстные меню
- Редактор меню
- Подсказки пользователю с помощью диалога
- Тема 11 Управление проектами
- 11.1. Работа с проектом и его структура
- 11.2. Работа с несколькими проектами
- 11.4. Установка параметров проекта
- 11.5. Дополнения и мастера
- Тема 12 Управляющие конструкции
- 12.1. Конструкции принятия решения (ветвление)
- 12.2. Циклы
- 12.3. Работа со структурами управления и досрочный выход из них
- Тема 13 Структура приложения. Техника написания кода
- 13.1. Структура приложения
- 13.2. Как работает событийное приложение
- 13.3. До начала кодирования
- 13.4. Техника написания кода
- 13.5. Автоматизация написания программы