25 июл. 2013 г.

Windows Ribbon Framework. Проектирование "ленты" с помощью Ribbon Designer

Перевод. Оригинал Design the ribbon using the Ribbon Designer

Запустите Ribbon Designer, запустив на выполнение исполняемый файл "Designer\Bin\RibbonDesigner.exe" в каталоге, в который вы распаковали Windows Ribbon Framework for Delphi.

Примечание. Ribbon Designer использует три сторонних утилиты для компиляции и просмотра проектируемой "ленты". Это компилятор XML-описания "ленты" Microsoft Ribbon Compiler (UICC.exe), компилятор ресурсов Microsoft Resource Compiler (RC.exe) и компилятор Delphi (DCC32.exe). Компилятор Ribbon Compiler распространяется вместе с Windows 7 SDK, кроме того вы найдете его в каталоге Designer\Bin библиотеки. Компилятор ресурсов и компилятор Delphi поставляются вместе со средой разработки Delphi 2010 или младше, поэтому среда разработки должна быть установлена на вашем компьютере. Ribbon Designer сам должен определить местонахождение указаных утилит при запуске. Однако если этого не произошло, приложение вызовет свой диалог настроек, в котором вы вручную сможете указать необходимые пути.

Создание нового проекта


Для создания нового проекта выберите "File | New (Ctrl+N)"


Ribbon Designer поставляется вместе с шаблоном WordPad, который содержит "ленту", идентичную той, что используется в приложении WordPad, входящем в состав Windows 7. Убедитесь в том, что шаблон выбран в верхней части диалога.

Далее, вам необходимо указать каталог, в котором будет сохранен файл описания "ленты". Мы предлагаем использовать подкаталог в директории вашего Delphi-проекта. В этом примере наш проект расположен в "C:\Projects\TextPad", и мы сохраним нашу "ленту" в подкаталог "Ribbon". Также нам нужно указать имя файла "ленты". Файлы описания "ленты" - это файлы, использующие XML-разметку. Мы можем использовать любое расширение файла, однако Microsoft рекомендует оставлять стандартное расширение ".xml".

Когда вы нажмете кнопку OK, будет создан файл описания "ленты", и все ресурсы (изображения) будут скопированы в подкаталог "Ribbon\Res". Это может занять пару секунд, после чего экран станет выглядеть так



Основная площадь экрана поделена на три вкладки:

  • Commands (команды): показываются все команды "ленты". Команды немного похожи на TAction в Delphi.
  • Views (представления): представления "ленты". Представления - это визуальное отображение набора команд. Представления включают в себя саму "ленту" и все всплывающие окна.
  • XML Source: XML разметка описания "ленты", или доступный только для чтения сгенерированный исходный код "ленты". Доступ к этой вкладке вам понадобится только в том случае, если компилятор "ленты" вызовет ошибку. Ribbon Designer старается защитить вас от создания некорректного XML-кода насколько это возможно. Однако, компилятор "ленты" - это нечто большее, чем инструмент проверки корректности сгенерированного кода. Когда компилятор генерирует ошибку, вы ее можете видеть в логе сообщений в нижней части экрана. Вы можете использовать номер строки, в которой произошла ошибка, для локализации места ошибки в исходном XML-коде. В документации вы найдете описание всех возможных ошибок.

Просмотр


Прежде, чем углубиться в подробности, давайте соберем и посмотрим проект. Выберите "Project | Preview (F9)" или нажмите кнопку Preview на панели инструментов. Ribbon Designer выполнит следующие действия:

  1. сохранит изменения в XML-файл (RibbonMarkup.xml в нашем примере).
  2. запустит компилятор Microsoft Ribbon Compiler (UICC.exe) для компиляции XML-описания "ленты" в двочный формат (RibbonMarkup.bml) и создания заголовочного файла (RibbonMarkup.h) и исходного файла ресурсов (RibbonMarkup.rc).
  3. запустит компилятор ресурсов Microsoft Resource Compiler (RC.exe) для компиляции созданного на предыдущем шаге BML-файла и всех связанных с ним изображений в файл ресурса (RibbonMarkup.res).
  4. конвертирует созданный на 2-ом шаге заголовочный файл (RibbonMarkup.h)  в Pascal-файл (RibbonMarkup.pas). Этот файл впоследствии будет нужен нам для доступа к командам "ленты" в нашем Delphi-проекте.
  5. создаст Delphi-проект динамической библиотеки (DLL), содержащий файл ресурсов (RibbonMarkup.dpr).
  6. запустит компилятор Delphi (DCC32.exe) для компиляции библиотеки ресурсов (RibbonMarkup.dll).

Все сообщения, выводимые во время выполнения этих шагов, вы сможете увидеть в нижней части окна. Если все шаги выполнены успешно, Ribbon Designer откроет созданную DLL и использует ее для создания окна просмотра


Неплохо для всего лишь минутной работы. С помощью окна просмотра вы можете протестировать созданную "ленту" и меню приложения. Конечно, ничего не будет происходить, когда вы будете нажимать кнопки на "ленте", но зато вы сможете увидеть, как будет выглядеть "лента" в вашем приложении. Окно просмотра содержит 4 вкладки, каждая из которых позволяет протестировать следующие возможности:

  • Application Modes (режимы работы приложения): вы можете указать множество режимов для вашей "ленты" (чуть позднее мы вернемся к этой возможности, чтобы подробно рассказать о ней). Например, WordPad имеет два режима: стандартный режим (режим 0) и режим предварительного просмотра (режим 1). В режим предварительного просмотра WordPad переходит, когда вы выбираете Предварительный просмотр в меню приложения перед печатью документа. Вы можете перевести "ленту" в режим предварительного просмотра, установив "флажок" Application Mode 1 и отключив флажок Application Mode 0. Попробуйте и посмотрите, что получится.
  • Contextual Tabs (контекстные вкладки): вы можете указать контекстные вкладки для вашей "ленты" (подробно рассмотрим эту возможность позднее). Контекстные вкладки - это набор вкладок, которые доступны только в определенном контексте. Например, в Word 2007 / 2010 набор вкладок "Работа с таблицами" становится доступным, когда вы выбираете таблицу в документе. WordPad не содержит контекстных вкладок, поэтому вы не сможете проверить их работу в нашем примере. Однако, если ваша "лента" содержит контекстные вкладки, то вы можете активировать их или скрывать в этой вкладке.
  • Context Popups (всплывающие окна): вы можете добавить несколько всплывающих окон в описание вашей "ленты" (подробности позже). Всплывающие окна могут содержать небольшие панели инструментов, меню, или их вместе. WordPad содержит 3 всплывающих окна, зависящих от того, что выбрано в документе. Вы можете проверить их работу в описываемой вкладке. Просто выберите нужное вам окно, и оно тут же появится. Однако WordPad не использует всплывающие панели инструментов, а только меню.
  • Colorize (цвета): фреймворк позволяет раскрасить "ленту" так, как вы пожелаете, а не только используя голубую, черную или серую темы из MS Office. Вкладка позволяет вам поэкспериментировать с цветовыми схемами и выбрать подходящую вам. 

Теперь приступим к собственно проектированию "ленты". Закройте окно просмотра и перейдите к следующему разделу...

Далее: Команды


Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.