Вкладка Controls. Компонент TRxSplitter

   
На этом шаге мы рассмотрим компонент TRxSplitter.

   
Компонент TRxSplitter (разделитель) предназначен для помещения между
двумя элементами управления, с целью дать возможность пользователю во время выполнения
программы изменять взаимные размеры этих двух элементов управления.
   
Для того чтобы изменять взаимные размеры элементов нужно провести курсор над
полоской, разделяющей эти элементы, и при появлении курсора изменения размера
(рис.1), нажав левую кнопку, перетащить полоску в ее новое положение. При этом
произойдет изменение размеров.


Рис.1. Курсор изменения размера
   
Визуально компонент представляет собой небольшую вертикальную или горизонтальную полосу,
располагающуюся между двумя соседними элементами управления или на "свободной"
стороне одного их них. Может разделять элементы, как по горизонтали, так и по
вертикали.
   
Задание значения свойству LimitOffset позволяет Вам ограничить
перемещение разделителя. Элементы управления, которые он будет разделять,
задаются свойствами ControlFirst и ControlSecond.
При использовании важным является сочетание свойств Align у самого
компонента и у элементов ControlFirst, ControlSecond.
При правильном выставлении этих свойств в дизайнере Delphi,
read-only свойство Cursor у Splitter'а
примет значение crHSplit при вертикальном разделении и
crVSplit при горизонтальном. Иначе, изменение размеров во
время выполнения будет невозможно.
   
Возможно задание значения только одного свойства - ControlFirst.
При правильной установке свойств Align у этого элемента и сопряженных
с ним в форме компонента TRxSplitter также позволяет изменять их
размеры.
   
Во время перемещения Splitter'а по форме в
процессе выполнения программы пользователь может нажать клавишу "Esc" для отмены перемещения разделителя.
   
Некоторые свойства компонентаTRxSplitter:

Таблица 1. Свойства компонента TRxSplitter

Свойство Описание
property ControlFirst: TControl; Один из элементов управления, которые разделяет и чьи размеры меняет RxSplitter.
Это элемент расположенный либо левее, либо выше.
Значение этого свойства задается автоматически при присвоении значения свойству Align и может быть изменено вручную.
Обычно достаточно задать значение одному из двух свойств - ControlFirst или ControlSecond.
property ControlSecond: TControl; Один из элементов управления, которые разделяет и чьи размеры меняет RxSplitter. Это элемент расположенный либо правее, либо ниже.
Если задано значение ControlFirst, Вам нет необходимости задавать значение этого свойства.
property BottomRightLimit: Integer; Задает минимальное смещение (от границ формы-владельца) положения разделителя при его перемещении
в ту или иную сторону, устанавливая таким образом минимальные размеры для
компонент ControlFirst и ControlSecond.
property TopLeftLimit: Integer; Задает минимальное смещение (от границ формы-владельца) положения разделителя
при его перемещении в ту или иную сторону, устанавливая таким образом минимальные
размеры для компонент ControlFirst и ControlSecond.
property OnPosChanged: TNotifyEvent; Событие происходит после изменения пользователем размеров разделяемых элементов.

   
Чтобы дать возможность пользователю во время выполнения программы изменять взаимные
размеры двух элементов управления, необходимо:

  • Поместить первый элемент в форму: пусть, например, это будет TRxRichEdit.
    C войству Align придать значение alTop.
    Поместите в форму TRxSplitter, выставив ему Align = alTop.
    Он теперь должен располагаться тонкой полоской под TRxRichEdit.
  • Поместите в форму под TRxRichEdit, например TRxClock.
    Установите его Align в alClient или alTop.
    Splitter окажется зажат между компонентами.
  • Выберите ControlFirst и ControlSecond у
    Splitter'а соответственно в TRxRichEdit и TRxClock.
    Свойство Cursor у Splitter'а должно измениться в
    crVSplit, означая, что будет доступно вертикальное взаимное изменение размеров
    TRxRichEdit и TRxClock.

   
Результат продемонстрирован на рис.2(а-б):


Рис.2а. Форма с размещенными на ней компонентами TRxRichEdit, TRxSplitter и TRxClock


Рис.2б. Смещение разделителя TRxSplitter вниз
   
По аналогии можно установить разделитель вериткально между горизонтальными элементами (рис. 3а-в).


Рис.3а. Форма с размещенными на ней компонентами TRxDice, TRxSplitter и TRxClock


Рис.3б. Смещение разделителя TRxSplitter влево


Рис.3в. Смещение разделителя TRxSplitter вправо

   
Текст этого примера можно взять Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

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