2010-05-04 1 views
1

Я создал в своем приложении 2 панели инструментов. Поскольку я хотел иметь возможность перетаскивать их, я помещаю оба компонента TToolBar в TControlBar. В этом случае я могу их переместить, но я хочу, чтобы их можно было перетащить, как в MS Office (перетащите панель инструментов сверху и поместите ее влево, вправо или в нижней части окна и сохраните ее положение).Перетаскивание панелей инструментов

Может ли кто-нибудь помочь мне?

ответ

1

Установите «DragKind» на панели инструментов на «dkDock» и «DragMode» на «dmAutomatic». «DockSite» ControlBars должен быть True. Теперь вам нужно только держать sth. для перетаскивания, по какой-то причине ручки перетаскивания, похоже, не работают, но отделители будут делать. Возможно, сепаратор как первый элемент подделал бы ручку перетаскивания.

Для целей тестирования скомпилируйте и запустите «Docking Demo» в папке «... \ Demos \ DelphiWin32 \ VCLWin32 \ Docking». Вы должны иметь возможность плавать «Панель инструментов1», перетаскивая его из разделителя между кнопками «Выход» и «Панель инструментов1».

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

Сказав это, ИМО, эти контроли бы не сделать для хороших элементов графического интерфейса. Насколько я знаю, приложения Office никогда не использовали элементы управления ToolbarWindow32 и Rebar. Вместо этого перейдите на стороннюю библиотеку. Я использую библиотеку SpTBXLib, которая зависит от Toolbar2000.

 Смежные вопросы

  • Нет связанных вопросов^_^