Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга о KOL.doc
Скачиваний:
29
Добавлен:
30.04.2019
Размер:
1.77 Mб
Скачать

3 .5. Линейка прокрутки (scroll bar)

Инструментальное окно этого типа обычно в самостоятельном виде не требуется. Практически все окна, являющиеся контейнерами для строк текста, изображений или других объектов, обеспечивают автоматически наличие линеек прокрутки - при необходимости. Тем не менее, спустя несколько лет после создания KOL, такой оконный объект все-таки был добавлен. Он позволяет организовать прокрутку произвольных элементов, не являясь при этом частью какого-либо оконного объекта.

Конструктор:

NewScrollBar( Parent, side ) - создает элемент прокрутки, задавая для него направление - вертикальное или горизонтальное.

Кроме общих визуальных свойств, присущих всем оконным объектам, для элемента прокрутки имеется ряд специфичных только для него. А именно:

SBMin - минимальная позиция прокрутки (начальное значение 0);

SBMax - максимальная позиция прокрутки (начальное значение 32767, но допускается любое целое число, большее SBMin);

SBMinMax - предназначено для получения или изменения свойств SBMin и SBMax за один прием, через структуру TPoint;

SBPosition - текущая позиция прокрутки, от SBMin до SBMax включительно;

SBPageSize - размер страницы. Используется для прокрутки на страницу как инкремент или декремент для SBPosition. Кроме того, если эта величина не нулевая, то системой автоматически подсчитывается размер "бегунка" на линейке прокрутки, таким образом, чтобы он по возможности демонстрировал то, насколько велика одна страница прокручиваемого содержимого - по сравнению со всем содержимым (этот размер визуально не может, однако, быть меньше некоторого минимального значения, определяемого системой);

OnSBScroll - событие, которое срабатывает при выполнении прокрутки. В случае прокрутки путем перетаскивания бегунка на линейке мышью, это событие происходит регулярно, до тех пор, пока бегунок не будет отпущен.

Зеркало в MCK: TKOLScrollBar.

3.6. Линейка прогресса (progress bar)

Для показа того, сколько процентов данных уже обработано, во время выполнения каких-либо длительных операций, принято использовать этот элемент. Он так и называется - "прогресс".

Конструкторы:

NewProgressBar( Parent ) - создает объект для окна горизонтального прогресса, и возвращает указатель PControl;

NewProgressBarEx( Parent, options ) - совершенно аналогичен предыдущему конструктору, но позволяет задать дополнительные опции: вертикальное направление, и сплошная заливка при закраске прогресса (по умолчанию, используется набор "кирпичиков").

Свойства, методы, события:

Progress - число, определяющее текущий "процент" исполнения. По умолчанию, максимальное значение для этого свойства равно 100, так что в этом случае речь действительно идет о процентах. Но максимальное значение можно изменить:

MaxProgress - максимальное значение для свойства Progress. Для визуализации текущего прогресса исполнения, в окне линейки закрашивается его часть, по площади пропорциональная отношению Progress / MaxProgress;

ProgressColor - задает цвет для закраски (для оставшейся части используется цвет Color, как обычно);

ProgressBkColor - то же, что и Color - цвет для самого окна.

Зеркальный компонент TKOLProgressBar выбирает, какой конструктор добавлять в код для инициализации формы, в зависимости от опций времени разработки.