Увеличение размера элемента управления до максимально возможного

В предыдущем примере вы увидели, как применять привязку для увеличения горизонталь­ного размера элемента управления. Привязку можно использовать для увеличения верти­кального размера элемента, но здесь есть тонкость. В большинстве форм несколько элемен­тов управления располагаются один над другим. Если не быть аккуратным, при увеличении высоты элемента управления он начинает закрывать расположенный под ним элемент.

Решением может стать увеличение вертикального размера только одного элемента управления на форме. Этот элемент (возможно, большое поле, набитое до отказа текстом) раздвигается, захватывая все свободное пространство. Все элементы управления над ним должны быть привязаны к верхней стороне формы. Все элементы управления под ним сле­дует привязать к нижней стороне, чтобы они не стояли у него на пути.

Вот как реализовать эту модель на практике.

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».