Прежде, чем непосредственно перейти к повествованию, я хотел бы обратить ваше внимание на инструментарий, который мне пришлось использовать. В первую очередь речь идет о GExperts – прекрасном расширении IDE, которое сэкономило мне немало времени и сил. Для тех, кто не знаком с этим продуктом – рекомендую. Бесплатно! Так же весьма полезными оказались Refactoring инструменты из стандартного набора Delphi.
Первое, что мне пришлось сделать – это преобразовать основное меню и панель инструментов приложения в вид, подобный Office 2007. На удивление и, вопреки моим ожиданиям, переход этот получился относительно безболезненным. Суть процесса я описал в предыдущем посте.
Основную трудность составило размещение кнопок, непосредственно на ленту (Ribbon). В проекте у меня было около сотни, и перетаскивать их пришлось вручную. Но, согласитесь это проще, чем создавать их самому. Конечно, ввиду того, что некоторые надписи просто не вписывались по размеру, кое – что пришлось переименовать. В последствии, на некоторых вкладках, вместо обычных TdxBarButton пришлось использовать TdxLargeBarButton, и это доставило некоторые неприятности, но в целом, с данным сегментом работы я справился довольно быстро.
Однако, как и следовало ожидать, программа перестала компилироваться. Большинство ошибок синтаксиса были вызваны тем, что свойство visible классов TdxBarButton и TdxLargeBarButton описано как TdxbarItemVisible, и, соответственно оно принимает одно из трех значений ivAlways, ivInCustomizing или ivNever. Ничего общего с boolean. Здесь я просто в коде менял true на ivAlways, а false на ivNever. Кроме того, в программе ранее использовался код, улучшающий отображение стандартного ToolBar. Естественно, мне пришлось его удалить ввиду отсутствия этого самого стандартного ToolBar.
Конечно, присутствовали еще кое-какие моменты в настройке RibbonBar‘а, на которые следует обратить внимание. Я планирую рассказать о них чуть подробней в параллельной рубрике.
Резюмируя вышесказанное, могу сказать, что перевод «старого» приложения на DevExpress RibbonBar – довольно не сложен. В принципе, если четко представлять, что нужно получить, то справиться с этой задачей можно за несколько часов. Особенно, если у вас есть навык работы с TdxRibbon. Для тех, кому приходится разбираться с данным набором компонентов «по ходу пьесы», позволю дать несколько общих советов:
- Не оставляйте имена контролов по умолчанию, переименовывайте их сразу. В противном случае вы просто быстро запутаетесь.
- Если вы создали что-то (например, с помощью контекстного меню), но оно не отобразилось на экране, сразу найдите то, что вы создали, и удалите, если оно вам не нужно. Абсолютно не факт, что пользователь не получит доступ к плодам ваших экспериментов в процессе работы программы.
- Изменив что-то, запустите проект на исполнение. Иногда запущенное приложение будет выглядеть несколько иначе, чем в режиме редактирования;
- Чаще бекаптесь, никто вас в трусости не обвинит;
- Если у вас что-то не выходит, не спешите ставить эксперименты на рабочем проекте. Создайте тестовый проект, включите его в рабочую группу проектов и экспериментируйте там.
- «Инструкции? Да кому нужны эти инструкции» (с) Черный Плащ. Подумайте, может это не совсем верный подход, и попробуйте все же почитать оригинальные файлы справки.
Для тех, кто действительно хочет сравнить Ribbon компоненты из набора DevExpress с оригинальными из комплекта Delphi 2009-2010 рекомендую прочесть подборку материалов на WebDelphi.ru.
Другие статьи серии:
Редизайн интерфейса приложения. #0
Редизайн интерфейса приложения. #2
Редизайн интерфейса приложения. #3
Редизайн интерфейса приложения. #4
Редизайн интерфейса приложения. #5
Редизайн интерфейса приложения. #6
Редизайн интерфейса приложения. #7
Редизайн интерфейса приложения. #8
Оставить комментарий