Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Slider, ProgressBar






Slider изображен на картинке внизу. Его действие и свойства (Min, Max, SmallChange, LargeChange, Value) аналогичны действию и свойствам полосы прокрутки HScrollBar.

 

 

ProgressBar в двух видах изображена сверху. Вы наверняка видели такую при инсталляции программ. Зачем она нужна? Пусть ваша программа запускает длительный процесс, во время которого на экране ничего не происходит (например, считывает информацию из 400 файлов). У пользователя может возникнуть тревожное ощущение, что программа зависла. Чтобы этого ощущения не было, вы можете выдать на экран текст " Я занята. Подождите минутку.", которое пропадет, когда дело сделано. Но опять же, пока дело делается, этот текст так долго и неподвижно красуется посреди экрана, что в душу опять закрадываются подозрения. Гораздо лучше создать ProgressBar, полоса которой после считывания информации из каждого файла будет продвигаться на 1/400 часть длины ProgressBar. Поскольку компьютер работает быстро, у пользователя создастся впечатление, что полоса плавно ползет направо. А раз движение есть, значит компьютер не завис! К тому же можно в процессе работы примерно представлять, какая часть ее выполнена.

Свойства ProgressBar - Min, Max - аналогичны свойствам полосы прокрутки. Внешний вид определяется свойством Scrolling.

Для иллюстрации сказанного создайте проект. Разместите элементы управления, как на картинке. Установите свойство Max слайдера в 50, у остальных - в 100. Запустите следующие процедуры:

Private Sub Command1_Click()

For a = 0 To 40 Step 0.01

ProgressBar1 = a

Next

End Sub

 

Private Sub Command2_Click()

For a = 0 To 80 Step 0.1

ProgressBar2 = a

Next

End Sub

 

Private Sub Command3_Click()

For a = 0 To 30 Step 0.001

Slider1 = a

Next

End Sub

Во время выполнения процедур полосы и бегунок слайдера движутся. Если движение слишком быстрое или слишком медленное, измените шаг цикла. На картинке вы видите состояние элементов управления после того, как процедуры отработали.

В реальной задаче о копировании 400 файлов вы могли бы сделать так, чтобы при закрытии очередного файла вызывалась процедура пользователя, продвигающая чуть-чуть полосу.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал