Delphi. Ribbons. Первые простые примеры

Этот пост пишу для закрепления своих навыков работы с Ribbon в Delphi. Когда пишешь, делаешь – запоминаешь. Первоначально читал статьи Влада Баженова – очень хорошо написано. В принципе, наверное, это лучшее, что есть в сети по этой теме. Но при повторении его первого шага у меня возник нюанс, о котором не написано в той статье. Вот, что у нас получится в конце

1

Итак, начнем с размещения компонентов на форме

TActionManager

TImageList

И! Внимание,только после того как добавили TActionManager – добавляем TRibbon

2

 

Если только включили Delphi, добавили сначала TRibbon, а потом TActionManager, то может получиться такая картинка.

3

Все попытки растянуть, изменить высоту не удавались.Помогало только добавление TActionManager, прописывание его в свойствах Ribbon+перезагрузка проекта. Не знаю, что это – глюк или так запрограммировано, но это то, с чем я столкнулся.

Если добавили TActionManager – потом TRibbon – то всё работало корректно.

В общем, суть в том, что нужно добавить сначала TActionManager, так как TRibbon работает с ним в паре. И при добавлении в свойстве ActionManager у Ribbon мы увидим ActionManager1.


 

Создание вкладки

4

 

После добавления видим такую картину

5

 

Создание группы на вкладке

7

 

Вот что у нас получится в результате

6

 

Создание действия SayHello

9

 

Далее 2 раза кликаем на SayHello в менеджере действий и прописываем ему сам код действия

Добавление изображения к кнопке

В ImageList1 изменяем свойства Width и Height в 32 и 32.

Добавляем изображение в ImageList1.

В ActionManager в свойстве Images отметим ImageList1.

2 раза кликаем на ActionManager

Выбираем SayHello

В Object Inspector находим свойство ImageIndex1, поставим его соответственно индексу в ImageList1.

В результате должно получиться примерно так

10

 

Перетаскивание действия на Ribbon

12

В результате получится такая картина

13

Увеличение кнопки

Теперь нам нужно поправить размер кнопки

14

 

После чего, наблюдаем такой результат

15

Далее компилируем и проверяем результат

16


 

Добавление кнопки SayGoodBye

Теперь добавим 2 кнопку по аналогии с первой.

17


Добавление RadioButton

Добавим в ActionManager 2 действия

18

Пропишем их обработчики аналогично (2-й клик на SayYes и получаем шаблон для обработчика)

Перетащим их на нашу группу в рибоне

19

Теперь изменим их тип на Radiobutton

20

 

Далее выбираем SayYes в ActionManager и ставим groupIndex=1, аналогично у SayNo в ActionManager. Чтобы радио-кнопки находились в 1 группе и в 1 момент времени была нажата только одна. Для этого достаточно поставить Groupindex в одинаковое значение, не равное нулю.

Скомпилируем и проверим работу

21

 

В принципе, мы добились результата, который планировали в начале. Осталось только переименовать вкладку и группу, но с этим, думаю Вы справитесь. Самые простые вещи мы сделали, дальше по аналогии. Можно создавать другие вкладки и группы на них. Добавлять в группы через ActionManager какие-то действия, оформлять их в виде кнопок, радиокнопок, списков и так далее.

This entry was posted in Delphi, Ribbons, Без рубрики. Bookmark the permalink.