Редактор меню (C++)

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

Совет

При использовании редактора меню во многих случаях можно щелкнуть правой кнопкой мыши всплывающее меню часто используемых команд. Доступные команды зависят от объекта, на который наведен указатель мыши.

Инструкции

Редактор меню включает следующие возможности:

Создание стандартного меню

  1. Перейдите в меню "Вид>ресурса" или "Просмотреть>другое представление ресурсов Windows>" и щелкните правой кнопкой мыши заголовок меню. Выберите " Добавить ресурс" и " Меню".

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

    New Item box in the menu editor.
    Поле "Новый элемент"

  3. Введите имя нового меню, например "Файл".

    Текст, который вы вводите, отображается как в редакторе меню, так и в поле заголовка в окне свойств. Вы можете изменять свойства нового пункта меню в любом из этих мест.

    После того как вы предоставили новое меню имя в строке меню, поле нового элемента сдвигается вправо (чтобы разрешить добавить другое меню). Еще одно поле нового элемента открывается под первым меню, чтобы добавить в него команды меню.

    Expanded New Item box.
    Поле "Новый элемент " с фокусом смещено после ввода имени меню

    Примечание.

    Чтобы создать одноэлементное меню в строке меню, задайте для свойства Popup значение False.

Создание подменю

  1. Выберите команду меню, для которой нужно создать подменю.

  2. В поле Новый элемент , которое появится справа, введите имя новой команды меню. Эта новая команда будет первой в подменю.

  3. Добавьте дополнительные команды меню в меню подменю.

Вставка нового меню между существующими меню

Выберите существующее имя меню и нажмите клавишу INSERT или щелкните правой кнопкой мыши строку меню и нажмите кнопку "Вставить".

Поле "Новый элемент " вставляется перед выбранным элементом.

Добавление команд в меню

  1. Создайте меню. Затем выберите имя меню, например "Файл".

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

  2. В поле нового пункта введите имя для новой команды меню.

    Примечание.

    Текст, который вы вводите, отображается как в редакторе меню, так и в поле заголовка в окне свойств. Вы можете изменять свойства нового пункта меню в любом из этих мест.

    Совет

    Можно определить мнемонический ключ (сочетание клавиш), с помощью которого пользователь может выбрать команду меню. Введите амперсанд (&) перед буквой, чтобы указать его как mnemonic. Пользователь сможет выбрать команду меню, введя эту букву.

  3. В окне "Свойства" выберите свойства команды меню, которые применяются. Дополнительные сведения см. в разделе "Свойства команды меню".

  4. В поле "Запрос" в окне "Свойства" введите строку запроса, которую нужно отображать в строке состояния приложения.

    На этом шаге создается запись в строковой таблице с тем же идентификатором ресурса, что и созданная команда меню.

    Примечание.

    Запросы могут применяться только к элементам меню со свойством Popup true. Например, пункты меню верхнего уровня могут иметь подсказки, если у них имеются вложенные пункты меню. Цель запроса — указать, что произойдет, если пользователь выбирает элемент меню.

  5. Нажмите клавишу ВВОД , чтобы завершить команду меню.

    Выбрано поле нового элемента, чтобы создать дополнительные команды меню.

Выбор нескольких команд меню для выполнения массовых операций, таких как удаление или изменение свойств

Удерживая клавишу CTRL , выберите нужные меню или команды подменю.

Перемещение и копирование меню и команд меню

  • Используйте метод перетаскивания:

    1. Перетащите или скопируйте элемент, который требуется переместить.

      • Новое расположение в текущем меню.

      • Другое меню. Вы можете перейти к другим меню, перетащив указатель мыши на них.

    2. Удалите команды меню, когда направляющая покажет нужное положение.

  • Используйте команды контекстного меню:

    1. Щелкните правой кнопкой мыши одно или несколько меню или команды меню, а затем выберите "Вырезать " (для перемещения) или "Копировать".

    2. Если элементы перемещаются в другой ресурс меню или файл скрипта ресурсов, откройте его в другом окне.

    3. Выберите положение меню или команды меню, которую нужно переместить или скопировать.

    4. Выберите в контекстном меню команду Вставить. Перемещенный или скопированный пункт помещается перед выбранным пунктом.

Примечание.

Вы также можете перетаскивать, копировать и вставлять в другие меню в других окнах меню.

Удаление меню или команды меню

Щелкните правой кнопкой мыши имя меню или команду и нажмите кнопку "Удалить".

Примечание.

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

Всплывающие меню

Всплывающие меню отображают часто используемые команды. Они могут быть контекстно-зависимыми, т. е. зависеть от положения указателя. Использование всплывающего меню в приложении требует создания самого меню и привязки его к коду приложения.

После создания ресурса меню код приложения должен загрузить ресурс меню и использовать TrackPopupMenu , чтобы вызвать отображение меню. Когда пользователь уволил всплывающее меню, выбрав его за ее пределами или выбрав команду, эта функция вернет. Если пользователь выберет команду, будет отправлено сообщение этой команды в то окно, дескриптор которого был передан.

Примечание.

Для программ библиотеки классов Microsoft Foundation (MFC) и программ ATL используйте мастеры кода для перехвата команд меню для кода. Дополнительные сведения см. в разделе "Добавление сообщений о событии и сопоставлении" в функции.

  • Чтобы создать всплывающее меню, создайте меню с пустым заголовком и не укажите подпись. Затем добавьте команду меню в новое меню. Перейдите к первой команде меню под пустым заголовком меню (оно имеет временный подпись введите здесь) и введите подпись и любую другую информацию.

    Повторите этот процесс для любых других команд меню во всплывающем меню и обязательно сохраните ресурс меню.

  • Чтобы подключить всплывающее меню к приложению, например добавьте обработчик сообщений для WM_CONTEXTMENU, а затем добавьте следующий код в обработчик сообщений:

    CMenu menu;
    VERIFY(menu.LoadMenu(IDR_MENU1));
    CMenu* pPopup = menu.GetSubMenu(0);
    ASSERT(pPopup != NULL);
    pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
    

    Примечание.

    CPoint, передаваемый обработчиком сообщений, находится в координатах экрана.

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

  • Чтобы просмотреть ресурс меню в виде всплывающего меню, щелкните правой кнопкой мыши меню и выберите пункт "Вид в качестве всплывающего окна".

    Этот параметр является только предпочтениями просмотра и не изменит меню.

Совет

Чтобы вернуться к представлению панели меню, снова выберите "Вид как всплывающее окно ". Это действие удаляет метку проверка и возвращает представление строки меню.

Требования

Win32

См. также

Resource Editors
Команды меню
Объекты пользовательского интерфейса и идентификаторы команд
Меню
Меню