Увеличение размера элемента управления до максимально возможного
В предыдущем примере вы увидели, как применять привязку для увеличения горизонтального размера элемента управления. Привязку можно использовать для увеличения вертикального размера элемента, но здесь есть тонкость. В большинстве форм несколько элементов управления располагаются один над другим. Если не быть аккуратным, при увеличении высоты элемента управления он начинает закрывать расположенный под ним элемент.
Решением может стать увеличение вертикального размера только одного элемента управления на форме. Этот элемент (возможно, большое поле, набитое до отказа текстом) раздвигается, захватывая все свободное пространство. Все элементы управления над ним должны быть привязаны к верхней стороне формы. Все элементы управления под ним следует привязать к нижней стороне, чтобы они не стояли у него на пути.
Вот как реализовать эту модель на практике.
1. В Конструкторесожмите ширину раздела Область данныхнастолько, чтобы ее хватало
лишь для размещения элементов управления.
При любых типах привязки ваш главный враг — свободное пространство.
2. Выделите элемент управления, вертикальный размер которого хотите увеличить за счет
имеющегося свободного пространства.
Внимательно рассмотрите форму на рис. 13.9, отображающую клиентов. В данном случае поле Notesс самым длинным текстом выиграет больше других от получения дополнительного пространства. Даже если привязать поле Notesк двум сторонам, вы получите незначительную порцию свободного пространства. Лучше использовать свободное пространство, имеющееся в нижней части формы.
3. Выберите на ленте Инструменты конструктора форм | Упорядочить → Размер → Привязка → Растянуть вниз и по горизонтали(Form Design Tools | Arrange → Size → Anchoring → Stretch Down and Across).
Этот шаг привяжет элемент управления ко всем четырем сторонам формы: верхней, нижней, левой и правой. В результате элемент увеличится, если форму расширить или растянуть по вертикали. Если вы хотите, чтобы элемент управления увеличивал только вертикальный размер, а горизонтальный оставался прежним, выберите Привязка → Растянуть вниз(Anchoring → Stretch Down).
4. Выделите первый элемент управления под элементом, увеличивающим вертикальный
размер. Выберите Привязка → Снизу слева(Anchoring → Bottom Left).
Это действие привязывает элемент управления к левой и нижней сторонам. Таким образом, когда форма растягивается по вертикали, элемент управления смещается вниз, освобождая место для элемента, расположенного над ним.
Можно также использовать вариант Растянуть вдоль нижнего края(Stretch Across Bottom). В этом случае элемент управления также привязан к нижней стороне, но он увеличивается горизонтально в соответствии с шириной формы.
Примечание
В предыдущем примере подписи перед каждым полем не нуждались в привязке, поскольку они оставались на прежнем месте. Но в данном примере следует применить вариант привязки
Снизу слевако всем подписям, расположенным под элементом управления, растягивающемся вертикально. В противном случае подпись не будет выровнена относительно соответствующего поля со значением. Никогда не применяйте варианты растягивающей привязки к подписи, поскольку нет необходимости изменять ее размер.
5. Повторите пункт 4 для каждого элемента управления, расположенного ниже.
Если вы пропустили элемент управления, то увидите предупреждающий сигнал. Когда вы уменьшите окно формы, одни элементы управления наложатся на другие из-за несогласованности различных параметров привязки.
При условии, что привязка выполнена корректно, вы получите результат, показанный на рис. 13.10.
Рис. 13.10.Теперь, когда окно формы станет больше по вертикали, поле Notesполучит дополнительное пространство
Последовательность перехода: облегчение переходов с помощью клавиш
Когда форма применяется для редактирования записи, необходимо переходить от одного поля к другому. Перейти в любое поле на форме можно с помощью мыши, но фанаты
клавиатурных команд не хотят терять время на отрывание пальцев от клавиш. Тут на помощь приходит клавиша <Таb>.
Возможно, вам известно, что клавиша <Таb> позволяет переходить от одного элемента управления к другому в любом приложении Windows. Она также действует на листе данных, обеспечивая переход из одного столбца в следующий. Поэтому вас не должно удивить то, что клавиша <Таb> работает и в формах.
Первое нажатие клавиши <Таb> на форме может привести в изумление. Если вы потратили много времени на настройку элементов управления и их переупорядочивание, клавиша <Таb> необязательно приведет вас к тому элементу управления, на который вы рассчитываете. Рис. 13.11 иллюстрирует эту проблему.
Рис. 13.11.Вы рассчитываете, что, нажав клавишу <Таb>, перейдете из поля FirstNameв поле LastName.Но попробуйте сделать это и окажетесь в поле Country,расположенном в середине формы
Примечание
Клавиша <Таb> всегда действует корректно, если применяется табличный макет или макет в столбец, поскольку программа Access помнит ее последний переход, пока вы перемещаетесь между элементами управления. Только если вы извлекли элементы из макета, вы столкнетесь с описываемой проблемой.
Настройка формы таким образом, чтобы клавиша <Таb> обеспечивала обычный порядок перехода от одного элемента управления к следующему, называется установкой последовательности перехода. По сути, у каждого элемента управления, поддерживающего переходы
с помощью клавиши <Таb>, есть три важных свойства (которые можно найти на вкладке Другиев Окне свойств).Это следующие свойства.
■ Переход по Tab(Tab Stop) определяет, поддерживает ли элемент управления переходы с помощью клавиши <Таb>. Если установить значение Да, можно с помощью клавиши <Таb> перейти в этот элемент. Если изменить значение свойства на Нет, неважно, сколько раз вы нажмете клавишу <Таb> — вы никогда не попадете на этот элемент управления. Когда впервые вставляется элемент, у этого свойства всегда установлено значение Да.
■ Автопереход по Tab(Auto Tab) оказывает влияние, только если элемент управления использует маску ввода (см. разд. "Маски ввода " главы 4). Если задать этому свойству значение Да, то как только вы введете последний символ в маску, вы автоматически перейдете к следующему элементу управления. Это свойство очень удобно для быстрого ввода данных, но может мешать, когда допущена ошибка, поскольку вы переходите к следующему элементу прежде, чем успеете ее исправить.
■ Индекс перехода по Tab(Tab Index) управляет последовательностью перехода — иначе говоря, определяет, куда вы переходите при каждом нажатии клавиши <Таb>. Когда форма открывается в первый раз, вы начинаете с элемента управления с индексом перехода по <Таb>, равным 0. Когда нажимается клавиша <Таb>, выполняется переход к элементу управления с ближайшим превышающим индексом перехода по <Таb> (например, 1). Этот процесс продолжается до тех пор, пока вы не достигнете элемента управления с максимальным индексом перехода. Нажмите снова клавишу <Таb>, и вывернетесь к началу.
Примечание
Эти свойства есть только у элементов управления, способных принять фокус — другими словами, элементов, которые можно щелкнуть кнопкой мыши для взаимодействия с ними. Очевидно, что Поля, Флажкии Кнопкиподдерживают переходы с помощью клавиши <Таb>. А Подписии Рисунки— нет, поскольку нет возможности обмена информацией с ними.
При каждом добавлении нового элемента управления программа Access присваивает ему новый более высокий индекс перехода по <Таb>. Даже если вы помещаете новый элемент на самый верх формы, Access помещает его в конец последовательности перехода. Для исправления этой проблемы можно выделить каждый элемент управления в Конструктореи изменить значение свойства Индекс перехода по Tabвручную. Но альтернатива, требующая гораздо меньших затрат времени, позволяет установить последовательность перехода для всей формы сразу. Вот как она действует.
1. Щелкните правой кнопкой мыши свободное место на форме и выберите команду Переходы.
На экране появится диалоговое окно Последовательность перехода.В нем перечислены все элементы управления на вашей форме, поддерживающие переходы по клавише <Таb>, начиная с самого низкого индекса перехода и заканчивая самым высоким.
2. В списке Раздел(Selection) выберите раздел формы, с которым хотите работать. Почти всегда это Область данных.
В диалоговом окне Последовательность перехода(Tab Order) можно задать нужную последовательность отдельно для каждого раздела формы. Если в форму включены Заголовок формыи Примечание формы,можно выбрать работу с одним из этих разделов
или с Областью данных.Но очень редко попадается форма с элементами управления, поддерживающими переходы по клавише <Таb>, расположенными за пределами Области данных.
3. Если хотите позволить программе Access попытаться задать правильную последовательность переходов, щелкните мышью кнопку Авто(Auto Order).
При щелчке мышью кнопки АвтоAccess устанавливает последовательность перехода на основе местоположения элементов управления. Порядок следования слева направо и затем сверху вниз. В большинстве случаев режим Автозадает верную последовательность перехода (или, по крайней мере, приближает вас к ней).
4. Для переноса одного элемента управления в новое место в последовательности перехода
перетащите его мышью.
Этот шаг требует небольшой ловкости. На рис. 13.12 показано, как он выполняется.
Рис. 13.12.Для изменения местоположения элемента управления в последовательности перехода начните со щелчка кнопкой мыши серого поля, находящегося слева от элемента управления. Выделится вся строка списка. Далее перетащите элемент в новую строку в списке. В данном примере поле Countryперемещается вниз в последовательности перехода
5. Когда исправите последовательность перехода, щелкните мышью кнопку ОК.
Подсказка
Последовательность перехода действует в двух направлениях. Можно перейти к очередному элементу в последовательности, нажав клавишу <Таb>, и к предыдущему элементу, нажав комбинацию клавиш <Shift>+<Tab».