Основы офисного программирования и язык VBA


Перемещение фокуса на элемент управления


Только один из элементов управления формы находится в фокусе. Это означает, что этот элемент может принимать данные ввода, например, при нажатии клавиш клавиатуры или щелчки мыши. Пользователь, работающий с формой, может перемещать фокус по элементам управления в прямом направлении нажатием клавиши Tab, а в обратном - комбинацией Shift+Tab. Порядок перемещения задается на стадии проектирования окна. Программно можно установить фокус, используя методSetFocus (Поместить в фокус) элемента, который должен оказаться в фокусе.

Рассмотрим форму, в которой есть поле ввода и командная кнопка. Нормальные действия пользователя предполагают, что он вводит информацию в поле ввода, а затем щелкает по командной кнопке. В этом случае обработчик события Click передает информацию из поля ввода переменной программе. Если же пользователь щелкнул по кнопке, забыв ввести информацию, то следует выдать предупреждающее сообщение, например, звуковой сигнал и вернуть фокус полю ввода. Вот такой сценарий и был реализован. Не будем приводить детали проектирования формы и все обработчики событий. Ограничимся только одним из них -обработчиком события щелчка командной кнопки:

Private Sub CommandButton1_Click() With Me If.TextBox1.Text = "" Then Beep: Beep: Beep .TextBox1.SetFocus Else GlobeVar =.TextBox1.Text MsgBox GlobeVar .Hide End If End With End Sub

Вот как выглядит эта простая форма ввода в процессе работы с ней:

Простая форма ввода

Рис. 12.18.  Простая форма ввода




Начало  Назад  Вперед



Книжный магазин