Delphi разрешает только горизонтальное перетаскивание на TControlBar

У меня есть TControlBar, выровненный по нижней части моей основной формы (такая же ширина). Высота этой панели управления фиксирована.

Эта панель управления содержит ряд TPanels, выровненных по горизонтали (с соответствующей высотой). Эти панели содержат различные другие компоненты. Я хочу иметь возможность перемещать и переставлять эти панели по горизонтали из стороны в сторону, но запрещать вертикальное перемещение (исправить верхнюю часть панелей).

Как я могу этого добиться. Я попытался установить для свойства Anchors->akTop для каждой панели значение true. Но панели иногда двигаются вертикально, когда я пытаюсь перетаскивать их из стороны в сторону.

Я использую RAD Studio XE4.


person DanAsh    schedule 30.09.2015    source источник


Ответы (1)


Установите RowSize на Height панели управления:

Определяет высоту строк панели управления.

И установите для RowSnap значение False:

Указывает, привязываются ли элементы управления к строкам панели управления при закреплении.

Используйте RowSnap, чтобы указать, будут ли элементы управления привязаны к строкам панели управления при закреплении. Привязанные элементы управления имеют свойства Top и Height, установленные автоматически в соответствии со строками панели управления.

person NGLN    schedule 30.09.2015
comment
Спасибо. Я установил эти свойства, но они по-прежнему позволяют мне перетаскивать полосу (TPanel) в строку, которая не видна на панели управления. Это приводит к исчезновению панели, так как height на панели управления фиксировано, а AutoSize равно false. В основном я хочу ограничить количество строк для панели управления до 1, чтобы панели можно было переупорядочивать только по горизонтали. - person DanAsh; 01.10.2015