Вернемся к форме Building, к ее второй странице. В рабочем
состоянии она показана на рис. 4.23. Обратите
внимание на поле Адрес. Это объект Combo Box (раскрывающееся поле). В нем представлен список улиц
города. Их больше тысячи. Несмотря на расположение в алфавитном порядке, выбор
нужной улицы – весьма трудоемкая операция. Если при создании Combo Box поставить в качестве значения свойства IncrementalSearch истину (.T.- True),
то пользователь получит возможность применить пошаговый поиск. Что это
означает? Запустите приложение Real Estate. Добейтесь появления на экране второй
страницы формы Building. Заголовок ее окна: «Список зданий,
попавших в запрос». Щелкнике по кнопке Исправить.
Раскройте Combo Box - Адрес. Указатель мыши обязательно
должен оставаться на месте щелчка. Дальше работаем с клавиатурой. Допустим, нам
необходимо найти в списке улицу Серышева. Набираем на клавиатуре С-е-р-ы
и т.д. По мере ввода символов компьютер при каждом приращении в комбинации
набранных букв ищет соответствующее им слово. Иначе говоря, сначала ищется
первое слово, начинающееся на С, далее первое слово, начинающееся на Се,
далее первое слово, начинающееся на Сер и т.д. Теперь подробнее.
После нажатия клавиши С Вы увидите в списке следующую
картину:
Садовый
переулок
Салтыкова-Щедрина Улица
Санаторная Улица
Санаторный переулок
После нажатия клавиши е содержимое списка изменится:
Севастопольская Улица
Севастопольский переулок
Северная Улица
Седова переулок
После нажатия клавиши р появится следующее:
Серова Улица
Серпуховский переулок
Серышева Улица
Сеченова Улица
Нужная нам улица появилась в поле Combo
Box. Щелкните по ней
мышью. Список закроется. На экране останется выбранное значение: Серышева.
При пошаговом поиске компьютер не отличает больших букв от маленьких. Поэтому
можете работать в любом регистре, по русский шрифт должен быть включен
обязательно!
Внимание! Между нажатиями на клавиши у Вас только
полсекунды. Замешкались, в нашем примере, с буквой е, увидите улицы на
эту букву. Промедлили – не беда. Начните набор сначала: С-е-р-ы
и т.д. Только побыстрее. А теперь о правиле «полсекунды». Время реакции у
каждого человека индивидуально. Пользователь должен иметь возможность настроить
компьютер под себя. Для этого и предназначена форма Adjust (рис. 4.29).
Рис. 4.29. Форма Adjust в конструкторе форм
Основной элемент формы – объект Spinner, ControlSourсe которого – системная переменная _dblclick. Время задержки при пошаговом поиске и время, в
течение которого два сделанных щелчка мыши, превращаются в двойной щелчок, это
одна и та же переменная! Распорядитесь ее значением, в зависимости от того,
какая цель поставлена. Приведем код события Click кнопки Записать:
*- Кнопка Записать
IF .NOT. BETWEEN(_dblclick,0.25,1.25)
=MESSAGEBOX('Давайте
ограничимся диапазоном 0.25-1.25 секунды';
,48,'Предложение!')
ThisForm.Spinner1.SetFocus
RETURN
ENDIF
ThisForm.Release