Блог Александра Божко
Архивы
Рубрики
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Отдельного внимания заслуживает кнопка приложения (Application Buttun) Ribbon Bar‘а.

de1

Application Buttun.

Для того, что бы ее отобразить, необходимо установить свойство QuickAccessToolbar.Toolbar. Опять же, как по мне, это не совсем логично. Ведь форма не может содержать более одного компонента TdxBarManager, как следствие, значение свойства QuickAccessToolbar.Toolbar может быть либо пустым (в этом случае кнопка не будет отображаться), либо совпадать со значением свойства BarManager. Более того, TdxRibbon содержит свойство ApplicationButton.Visible, которое при  QuickAccessToolbar.Toolbar  = nil никоим образом не влияет на видимость кнопки. В компоненте BarManager необходимо создать Toolbar и назначить его свойству QuickAccessToolbar.Toolbar (например, QuickAccessToolbar.Toolbar=dxBarManager1Bar1, где dxBarManager1Bar1:TdxBar).

Для того, что бы при нажатии на кнопку появлялось меню, необходимо поместить на форму компонент TdxBarApplicationMenu и указать его в качестве значения свойства ApplicationButton.Menu. После этого при нажатии на кнопку вы получите пустое меню, примерно следующего вида:de2

Меню Application Button

Если вы захотите добавить пункты меню – сделайте двойной щелчок на компоненте  TdxBarApplicationMenu. В левом верхнем углу экрана появится панель “ExpressBar SubMenu“, а так же откроется Customize диалог dxBarManager‘а. Путем перетаскивания можно добавить команды в меню. Кроме того, на нижнюю панель диалога, появляющегося после нажатия кнопки приложения, можно добавить отдельные кнопки. За них отвечает свойство Buttons компонента TdxBarApplicationMenu.
Следует обратить внимание на то, что если вы используете TdxBarLargeButton, то за отображение пиктограммы кнопки будет отвечать свойство largeGlyph или LargeImageIndex, в том случае, если вы используете ImageList. Если же, у вас используется TdxBarButton, то, соответственно, необходимо использовать свойства Glyph или ImageIndex. Так, что не пугайтесь, если после задания свойства Glyph изображение на кнопке не появилось, а сразу проверьте, возможно, вы используете TdxBarLargeButton и нужно воспользоваться свойством largeGlyph.
Ряд маленьких кнопок, находящийся справа от кнопки приложения, так же можно заполнить, перетаскивая команды из Customize диалога dxBarManager’а. За этими кнопками следует пиктограмма, нажатие на которую позволит вызвать меню пользовательской настройки Ribbon Bar’а. Это меню так же можно кастомизировать. Воспользуйтесь свойством PopupMenuItems компонента dxRibbon.
А вот спрятать список документов (Recent documents) довольно непросто, если предварительно не знать, как это делается. Для этого свойству ExtraPane.Size компонента TdxBarApplicationMenu необходимо присвоить значение 1.
К сожалению, остались и не разрешенные проблемы. Если сравнить, как выглядит RibbonBar, созданный с помощью DevExpress и, скажем, с помощью стандартных компонентов Delphi 2009/2010, то видно, что отличаются заголовки. Если в качестве эталона брать Office 2007, то DevExpress-овский интерфейс, пожалуй, не совсем верный. Возможно, кому-то из моих читателей известно решение данной проблемы. В этом случае не сочтите за труд поделиться им.
Пожалуй, это все, о Ribbon Bar, в следующей части данной рубрики я планирую немного рассказать о компоненте TcxGrid.

Другие статьи серии:

DevExpress. Заметки на полях #0
DevExpress. Заметки на полях #1
DevExpress. Заметки на полях #2
DevExpress. Заметки на полях #3.5
DevExpress. Заметки на полях #5
DevExpress. Заметки на полях #6
DevExpress. Заметки на полях #7
DevExpress. Заметки на полях #8
DevExpress. Заметки на полях #9
DevExpress. Заметки на полях #10
DevExpress. Заметки на полях #11
DevExpress. Заметки на полях #12
DevExpress. Заметки на полях #13


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

16 комментариев: DevExpress. Заметки на полях #3

  • Привет!
    Есть ли еще Ваши статьи про DevExpress ?
    Можете отправить их мне на емайл?

  • Все, что есть, находится в этом блоге.

  • Я обычно, когда с Ribbon Controls возился меню выносил в отдельный ActionList и этот лист связывал с основным ActionManager’ом. У DevExpress нет такой возможности?

  • Спасибо за статю, Александр!

    >то видно, что отличаются заголовки.
    Думаю вы имели в виду текст заголовка окна.

    Как видете разница почти не видна.
    Первое окно – MS Word 2007.
    Второе – проект на Delphi 2007 с DevExpress (ExpressBars 6.43).
    Третье – проект на Delphi 2010 с стандартными компонентами.
    Свойства объектов которые формируют заголовок:
    DevExpress: TdxRibbon.DocumentName, TdxRibbonForm.Caption.
    Delphi 2010: TRibbon.DocumentName, TRibbon.Caption.

  • DevExpress RibbonBar не поддерживает ActionManager.
    А его родной BarManager может быть только один на форме. Так, что. думаю, подобный вариант тут не получится.

  • Если использовать TdxBarLargeButton, то стоит иметь два одинаковых TcxImageList, один 16х16, второй – 32х32. Индексы картинок в них должны совпадать. Один указываем в TdxBarMAnager.ImageOptions.Images, второй – там же в LargeImages. Тогда кнопки на баре при измении размеров окна будут тоже уменьшаться и отображать правильную картинку – большую или маленькую.

  • Свойство TdxRibbonQuickAccessToolbar.Toolbar имеет тип TdxBar и ему неможет бить равно BarManager:ТdxBarManager. В компоненте BarManager необходимо создать Toolbar (я это делаю через ПКМ) и тогда назначить его свойству QuickAccessToolbar.Toolbar (например, QuickAccessToolbar.Toolbar=dxBarManager1Bar1, где dxBarManager1Bar1:TdxBar).

  • 2 Shoroh.
    Это. как раз, очевидно. Только не всегда удобно. Особенно, когда больше сотни картинок. Хотя, по другому, наверное, и никак…

  • 2 Lavren.
    Да, верно. Спасибо. Исправлю.

  • >то видно, что отличаются заголовки.
    Чем имено они отличаются?
    И можете подсказать почему нету моего первого комментария (приблизительно в 11:00)?

  • В спамлист попал камент. Я его извлек.
    Я чуть позже дам скриншоты…

  • Александр, дайте скрины!!! :)

  • Да, да, я помню.

    Скоро выложу. Просто сразу хочу обстоятельно подготовить скрины, поскольку там есть варианты…

  • Александр, можете поправить мой первый пост чтобы картинка была видна или ссылка?

    • Да, сделал ссылкой, картинка в камменте не очень хорошо смотрится…

      А еще включил возможность отвечать на комментарии…

Ответить на admin Отмена ответа

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика