25 июл. 2013 г.

Windows Ribbon Framework. Представления

Перевод. Оригинал Designing Ribbon Views

Приступим к собственно проектированию "ленты". Вкладка Views (Представления) окна Ribbon Designer дает вам возможность создания двух видов представлений: непосредственно "ленты" и контектных окон.

Часть вкладки Views занимает иерархический список элементов управления "ленты". Если мы посмотрим, например, на WordPad, то увидим, что на "ленте" размещены три вкладки: Главная (Home), Вид (View) и, если доступна, Предварительный просмотр (Print Preview). Кроме того, на вкладке Главная размещены пять групп элементов управления: Буфер обмена (Clipboard), Шрифт (Font), Абзац (Paragraph), Вставить (Insert) и Правка (Editing). Наконец, каждая группа включает один или несколько элементов управления. Например, в группе Буфер обмена (Clipboard) имеются три кнопки: Вставить (Paste), Вырезать (Cut) и Копировать (Copy). Некоторые элементы управления также могут иметь подчиненные элементы. Например, кнопка Вставить (Paste) имеет выпадающее меню из двух пунктов Вставить (Paste) и Специальная вставка (Paste special). И вот такая иерархия как раз и показана на рисунке.



Когда вы выбираете элемент управления в списке, в панели справа выводятся свойства этого элемента. Многие элементы обладают только небольшим количеством основных свойств, таких как имя связанной с элементом команды и режим приложения, при котором этот элемент доступен. Более специализированные элементы, например, Font (Шрифт), обладают дополнительными свойствами.

Панель инструментов над списком элементов дает вам возможность добавлять и удалять элементы, а также менять порядок их следования:



Эти же команды доступны через всплывающее меню при нажатии правой клавиши "мыши" над списком элементов или через "горячие" клавиши (Ctrl+Del, Ctrl+Up и Ctrl+Down). Когда вы нажимаете кнопку Add (Добавить) или правую клавиши "мыши" над списком, вы вызываете всплывающее меню, содержащее список элементов, которые вы можете добавить к выделенному элементу управления. Этот список зависит от того, какой элемент вы выбрали в иерархическом списке элементов "ленты". Например, если вы выбрали вкладку, то к ней вы можете добавить только группу элементов:


Однако если вы выбрали группу, то в нее уже можно добавлять множество других элементов управления:



Основные свойства элементов управления


Большинство элементов управления в списке обладают следующими свойствами:

  • Command (команда): имя команды, связанной с элементом. Это одна из команд, которую мы описали ранее. Среди прочего команда определяет заголовок элемента.
  • Application Modes (режимы приложения): фреймворк использует концепцию режимов приложения, что позволяет сделать так, чтобы элементы управления были доступны только в одном или нескольких указанных режимах. Вы можете объявить до 32 режимов (нумерация 0..31). В WordPad объявлено два режима: стандартный (0) и предварительного просмотра (1). В режиме предварительного просмотра вкладки Главная (Home) и Вид (View) скрыты, а отображается только вкладка Предварительный просмотр (Print preview).

Чтобы указать режимы приложения, для которых доступен элемент управления, кликните указателем "мыши" по стрелке в правой части поля:


Затем выберите режимы:


На рисунке элемент управления будет доступен во всех режимах (выбраны все режимы). В примере WordPad вы можете увидеть, что вкладки Главная (Home) и Вид (View) доступны только в режиме 0, в то время как вкладка Предварительный просмотр (Print Preview) доступна только в режиме 1.

2 комментария:

  1. Здравствуйте. Хотел поинтересоваться. Можно ли разместить на риббоне такой элемент интерфейса как DatePicker? Может необходимо писать свой компонент, который наследуется от TRibbonComboBox или может какие-то еще идеи есть. Собственно, быть может за это время появились какие-то новые инструменты по проектированию приложений с использованием ленточного интерфейса? Буду рад услышать любой Ваш ответ. Заранее благодарен

    ОтветитьУдалить
    Ответы
    1. Здравствуйте! Windows Ribbon API поддерживает ограниченное число видов контролов, которые можно разместить на ленту (https://msdn.microsoft.com/ru-ru/library/bb608623.aspx#Anchor_2). Могу только посоветовать посмотреть библиотеки компонентов, эмулирующих ленту, например, DevExpress Ribbon Control или TMS Advanced Toolbars & Menus. К сожалению, они платные

      Удалить