Delphi. Как сделать Ribbon меню на DevExpress?

Делая меню для одной из своих программ, я экспериментировал со встроенными Риббонами из стандартной библиотеки Delphi. Но, скажу честно, отказался от этой идеи. Местами были глюки. Всё настроил, но оно слетает. Пожелание разработчикам стандартных Риббонов Delphi – довести до ума.

Остановился на риббонах от DevExpress. Скажу честно, мне эта библиотека очень понравилась, но в неё нужно “вьезжать” какое-то время. Чтоб это время сэкономить тем, кто хочет сделать себе красивое меню для VCL программы, предлагаю данный пост.

Вот, что может получиться после прочтения данной статьи. Это пример одной из моих программ, которую я делаю сейчас.

Итак, что нужно сделать? Разберем по шагам. 

Дизайн Риббона

Добавляем на форму dxBarManager

Сразу же добавим к нему images и LargeImages. Это нужно для того, чтобы присоединять картинки к кнопкам.  У меня это выглядело так

Добавляем TdxRibbon

2 раза кликаем на tdxBarManager, и далее жмем на New и добавляем новый toolBar, даем ему понятное имя.

В результате должна появиться такая белая полоса, также сразу поменяем Caption и Имя, так как тул баров в нормальном проекте будет много. 1 tool bar будет соответствовать 1 группе на вкладке риббона. Групп на вкладках будет по 5-6 в не маленьком проекте и вкладок будет 5-6. Соответственно, нужно давать понятные имена, для 25-36 тул баров.

Также, появится белая полоса. Это и есть заготовка нашего тул бара, еще не присоединенная к группе.

Жмем правой кнопкой на Риббоне.

Из маленького окна dxRibbon.Tabs выбираем нужную нам вкладку и жмем на группы.

Теперь выбираем тул бар, он у нас один. И прописываем здесь любой название. Это будет названием группы на вкладке Риббона.

Далее, правой кнопкой мыши жмем на группу и выбираем тот элемент, который нам  нужно добавить

Добавим Button и LargeButton

Теперь меняем имена и caption кнопок и присоединяем к ним картинки в свойствах images и LargeImages.

Ну и в конце заменим caption вкладки. Правой кнопкой по Ribbon > TabsEditor, выбираем нужную вкладку и меняем ей имя и caption

 Обработчики

Я делаю обработчики централизованно, через TActionManager. Добавим его на форму.  2 раза кликнем и добавим новое действие, и переименуем его, скажем в aSmallButton

Теперь идём далее. Обработаем OnExecute данного обработчика. Можно просто дабл клик в окне ActionManager, а можно в Events самого action.

Напишем следующее

Прицепим обработчик следующим образом

После чего у нас слетит картинка и Caption, они будут взяты из Action, который мы прицепили, нужно перенастроить их ещё раз. Либо сделать это в самом Action, но там нет свойства LargeImageIndex и для больших картинок это не прокатит

 

В принципе это всё, теперь покажу, как это выглядит у меня в проекте…

 

 

 

 

 

 

This entry was posted in Delphi. Bookmark the permalink.