Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция8.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
112.13 Кб
Скачать

4. Линейки прокрутки

Горизонтальные и вертикальные линейки прокрутки (scroll bar) действуют совершенно одинаково.

Эти объекты позволяют узнавать о позиции движка (scroll box), кроме того контролировать диапазон действия линейки прокрутки и дискретность перемещения движка. Например, если вы с помощью линейки прокрутки программируете регулятор громкости, можно задать диапазон от 0 до 10 с шагом единица. Если вы с помощью линейки прокрутки, например, моделируете педаль газа в автомобиле, имеет смысл задать диапазон от 0 до 100 с ценой деления 5 единиц.

В панели элементов линейки прокрутки представлены следующими пиктограммами:

4.1 Свойства линеек прокрутки

Стандартные свойства, поддерживаемые объектами типа “линеек прокрутки” включают: Enabled, Height, Left, Name, Top, Visible, Width. К их специфическим свойствам относятся LargeChange, Max, Min, SmallChange и Value.

Value (текущая позиция). Это свойство содержит число, которое отражает текущую позицию движка на линейке прокрутки. При изменении этого свойства программным путем Visual Basic перемещает движок в соответствующую позицию. Если значение свойства выходит за пределы, установленные свойствами Min и Max, сообщается об ошибке.

Max (максимум). Значение этого свойства может находиться в интервале от –32 768 до 32 767. Когда движок попадает в крайнюю правую или нижнюю позицию, это число присваивается свойству Value.

Min (минимум). Значение этого свойства может находиться в интервале от –32 768 до 32 767. Когда движок попадает в крайнюю левую или верхнюю позицию, это число присваивается свойству Value.

LargeChange (постраничное изменение). Это свойство определяет величину, которая добавляется или вычитается из значения свойства Value при щелчке внутри линейки прокрутки.

SmallChange (построчное изменение). Это свойство определяет величину, добавляемую или вычитаемую из значения свойства Value при щелчке на одной из стрелок, указывающих направление прокрутки и расположенных на концах линейки.

4.2 События, связанные с линейками прокрутки

К наиболее важным событиям, связанным с линейками прокрутки, относятся Scroll (прокрутка) и Change (изменение). Событие Scroll непрерывно генерируется при перемещении мышью движка по линейке. Событие Change возникает после изменения позиции движка. Таким образом, событие Scroll позволяет динамически отслеживать позицию движка на линейке прокрутки, а Change - определять его конечное положение.

Все ранее рассмотренные нами процедуры и методы не применимы к объектам типа “линейка прокрутки”

4.3 Проект, в котором мы понаблюдаем за работой линеек прокрутки

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

Воспользуемся именами, которые дал Visual Basic форме, линейке прокрутки и метке по умолчанию, соответственно Form1, Hscroll1, Label1. Свойству Caption формы зададим значение Линейка прокрутки.

Свойству метки BorderStyle присвоим значение 1 – Fixed Single, а ее свойство Caption приравняем пустой строке. Свойства горизонтальной линейки прокрутки зададим следующим образом.

Свойство

Значение

LargeChange

10

Max

100

Min

0

SmallChange

2

Теперь составим процедуру для линейки прокрутки события Change.

Sub Hscroll1 Change( )

Label1.Caption = Str$(HScroll1.Value)

End Sub

Так как свойство метки Caption способно воспринимать только строковые значения, придется с помощью функции Str$ преобразовывать величину HScroll1.Value в строку.

Теперь сделаем код для обработки события Scroll линейки прокрутки.

Sub Hscroll1_Scroll( )

Label1.Caption =”Текущая позиция:”+ Str$(HScroll1.Value)

End Sub

Запустите свой проект. При щелчках на серой области линейки прокрутки, значения, отображаемые строкой метки, буду изменяться с шагом в 10 единицы, а при щелчках стрелок на концах линейки – с шагом в 2 единицы.

Перемещая движок мышью, можно изменять значения позиции, показываемое на метке с произвольной дискретностью, а не только 2 или 10.

Процедура обработки события Scroll непрерывно обновляет

строку метки при перемещении движка.

Закончите работу с проектом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]