понедельник, 2 марта 2015 г.

Урок 7. Надписи и всплывающие подсказки. Пример стандартного меню.

Давайте добавим к созданной нами на прошлом уроке кнопке полноценную всплывающую подсказку. Для этого добавим в тег button два статических атрибута: screentip="Вывести окно приветствия" и supertip="Вывести окно приветствия для получения удовольствия". Запустим документ, и посмотрим, что получилось. Теперь, при наведении мыши на кнопку, отображается всплывающая подсказка с текстом, сформированном из значений обоих атрибутов.

Что ещё можно задать в статических атрибутах для кнопки? Например, быстрые клавиши (keytip), подсказки о которых появляются в интерфейсе после кратковременного нажатия на клавишу Alt. Для одного элемента интерфейса можно задавать последовательности до трёх клавиш, хотя в большинстве случаев достаточно одной, максимум — двух, если количество элементов на вкладке достаточно велико.

Отдельно упомяну про атрибут description. В любом случае не будет ошибкой, если он тоже будет заполнен текстом, но срабатывать он будет только тогда, когда элемент с этим атрибутом будет помещён внутрь меню в качестве пункта этого меню, а атрибут itemSize самого меню будет содержать значение large. Другими словами, description актуален только внутри меню с большими пунктами. Поэтому в нашем случае заполнять его пока не будем.

Теперь я расскажу об одной интересной находке. Она будет интересна приверженцам старого классического меню. Неожиданно оригинал кода интерфейса находится (в составе предлагаемого шаблона документа) на личном сайте начальника отдела артиллерийско-технической службы подводной лодки военно-морских сил США в отставке:

http://gregmaxey.mvps.org/word_tip_pages/ribbon_menu_control.html.

Ниже можно скачать отдельно код интерфейса, переведённого мною на русский язык:
word2003UI.exportedUI

Для тестирования сохраните скачанный файл на диске, откройте в Ribbon XML Editor какой-нибудь новый документ Word и нажмите кнопку «Импортировать файл настроек ленты»:



Выберите скачанный файл. Его текст вставится в текущее окно. Первая строчка будет закомментирована в целях совместимости с типом файла «.exportedUI». Раскомментируйте её (для этого просто выделите весь комментарий целиком и нажмите кнопку «Комментарий» в строке над окном, четвёртую слева). Всё, теперь можете запустить документ на выполнение и насладиться видом классического меню.

В качестве альтернативного варианта можно просто открыть скачанный файл в блокноте, и скопировать его содержимое непосредственно в окно Ribbon XML Editor, но зачем делать лишние телодвижения?

Самостоятельно рассмотрите код. Он весьма прост. В нём создаются пользовательские меню, помещённые в горизонтальный контейнер (box) в которые посредством атрибута idMso вставляются стандартные элементы. Ниже контейнера в два ряда располагаются группы кнопок, имитирующие классические панели инструментов. Ничего более сложного в коде не производится.

Замечу, что на вышеупомянутом сайте американского офицера можно найти очень много полезной и интересной информации для новичков, владеющих английским. Всё очень толково и грамотно, с иллюстрациями, разложено по полочкам.

6 комментариев:

  1. Большое спасибо! Очень ценная и полезная информация. А Вы не подскажете, как убрать из всплывающей подсказки текст "Моя надстройка.xlam / Для получения дополнительных сведений нажмите F1"?

    ОтветитьУдалить
    Ответы
    1. Хм... не знаю, как убрать. Странно, что такой текст имеется именно у menu.

      Удалить
  2. Этот текст появляется не совсем у menu, а именно под кнопками Button. Строка описания выглядит так:
    button id="Button0122" image="Durability" label="Прочность" size="large" onAction="Files01" screentip="Расчёт прочности" supertip="Открыть файл расчёта прочности" /
    После моих screentip и supertip следует горизонтальная черта, под которой и располагается этот дурацкий текст.

    ОтветитьУдалить
    Ответы
    1. У меня в Word 2013 этот текст только у кнопок menu. Впрочем, сути дела это не меняет. В таких условиях остаётся только назвать файл надстройки максимально информативно.

      Удалить
    2. Анонимный20 марта, 2018 14:45

      Нашли решение?

      Удалить
    3. Думаю, решения нет.

      Удалить