Компонент Delphi ScrollBox (Область прокрутки)

Компонент Delphi ScrollBox (Область прокрутки) находиться на странице Additional Палитры компонентов.

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

С помощью  компонента ScrollBox мы можем на одной форме расположить области прокрутки в том количестве в каком они нам нужны с необходимы в них объектами. Объекты приложения размещаются в компоненте ScrollBox так же как и на обычной форме. При установленном свойстве AutoScroll в TRUE, полосы прокрутки возникают автоматически по  мере их надобности.

Компонент ScrollBox (пример)Расположим на форме компонент ScrollBox. Свойству AutoScroll присвоим значение FALSE, полосы прокрутки будем настраивать программно (создадим горизонтальную). Разместим кнопку Button так чтобы ее не было видно (на рисунке выступает ее левая сторона) и кнопку Показать - она будет выдвигать эту кнопку в область видимости. Остальные элементы можно разметить просто для вида.

Создадим обработчик FromCreate:

procedure TForm1.FormCreate(Sender: TObject);
begin
   with ScrollBox1.HorzScrollBar do
    begin
        Range    := 500;
        Position := 0;
        Visible  := True;
    end;
end;

Где свойство Range задает максимальную длину полосы прокрутки в пикселах.

Обработчик кнопки Показать:

ScrollBox1.ScrollInView(Button1);

Метод ScrollInView прокручивает область ScrollBox1, чтобы показать нам кнопку Button1 полностью.

Итог: мы разобрали компонет ScrollBox1, его применение в приложении.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>