какие пункты содержит строка меню

Строка меню (Справочник по элементам пользовательского интерфейса MSAA)

В этом разделе описываются объекты строки меню для ссылки на элемент ПОЛЬЗОВАТЕЛЬСКОГО интерфейса MSAA. Создание объектов строки меню в различных ПЛАТФОРМАХ пользовательского интерфейса не описывается здесь. См. справочную документацию по API для платформы пользовательского интерфейса, которую вы используете.

Строка меню — это область окна, расположенная сразу под строкой заголовка, в которой содержатся пункты меню, такие как файл, Правка, окно и Справка. Microsoft Active Accessibility также создает объект строки меню для системного меню, которое представляет собой меню в левом верхнем углу строки заголовка и содержит пункты меню восстановить, переместить, Размер, Minimize и максимизировать.

Поскольку элементы управления «строка меню» не получают фокус, методы аккселект и Get _ аккфокус не поддерживаются для этого элемента управления.

Методы IAccessible

Элементы управления «строка меню» поддерживают следующие методы IAccessible :

Свойства IAccessible

Элементы управления «строка меню» поддерживают следующие свойства IAccessible :

Свойство.Комментарии
получить _ аккчилдИзвлекает IDispatch для указанного элемента меню. Идентификаторы дочерних элементов меню нумеруются последовательно слева направо, начиная с единицы.
получить _ аккчилдкаунтСвойство ChildCount — это число пунктов меню в строке меню. Свойство ChildCount для системного меню — это одно из свойств.
получить _ аккдескриптионСвойство Description строки меню «содержит команды для управления текущим представлением или документом». Свойство Description для системного меню — содержит команды для управления окном.
получить _ аккдефаултактион
получить _ аккфокус
получить _ акчелп
получить _ акчелптопик
получить _ акккэйбоардшорткутСвойство кэйбоардшорткут строки меню под заголовком заголовка — «Alt». Свойство кэйбоардшорткут для системного меню — «ALT + пробел».
получить _ аккнамеСвойство Name строки меню под заголовком окна «приложение». Свойством » имя » для системного меню является «System».
получить _ аккпарент
получить _ аккролеСвойство Role_ _ строка подсистемы роли.
получить _ аккстатеСвойство State представляет собой сочетание одного или нескольких из следующих значений: Системное состояние _ _ невидимая система состояния, | _ _ сфокусированная на | _ _ системе состояния

Примечания

Источник

О меню

Меню — это список элементов, в котором указываются параметры или группы параметров (подменю) для приложения. При щелчке пункта меню открывается подменю или приложение выполняет команду. В этом разделе содержатся сведения по следующим темам:

Строки меню и меню

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

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

Имена меню в строке меню представляют основные категории команд, предоставляемых приложением. При выборе имени меню в строке меню обычно открывается меню, пункты меню которого соответствуют командам в категории. Например, строка меню может содержать имя меню « файл », которое при щелчке пользователем активирует меню с такими элементами меню, как « создать», « Открыть» и « сохранить». Чтобы получить сведения о строке меню, вызовите GetMenuBarInfo.

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

Каждое меню должно иметь окно владельца. Система отправляет сообщения в окно владельца меню, когда пользователь выбирает меню или выбирает элемент из меню.

В этом разделе рассматриваются следующие темы.

Контекстные меню

Система также предоставляет Контекстные меню. Контекстное меню не присоединено к строке меню; Он может находиться в любом месте экрана. Приложение обычно связывает контекстное меню с частью окна, например клиентской областью, или с конкретным объектом, например значком. По этой причине эти меню также называются контекстными меню.

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

Меню «окно»

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

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

Когда пользователь выбирает команду в меню » окно «, система отправляет сообщение WM _ сискомманд в окно владельца меню. В большинстве приложений процедура Window не обрабатывает сообщения из меню окно. Вместо этого он просто передает сообщения в функцию дефвиндовпрок для обработки сообщения системой по умолчанию. Если приложение добавляет команду в меню окно, процедура окна должна обработать команду.

Идентификатор справки

Доступ с клавиатуры к меню

Система предоставляет стандартный интерфейс клавиатуры для меню. Этот интерфейс можно расширить, предоставив назначенные клавиши доступа и сочетания клавиш (сочетания клавиш) для пунктов меню.

В следующих разделах описывается стандартный интерфейс клавиатуры, ключи доступа и сочетания клавиш:

Стандартный интерфейс клавиатуры

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

КлавишиДействие
Алфавитный символВыбирает первый элемент меню с указанным символом в качестве ключа доступа. Если выбранный элемент вызывает меню, отображается меню, и первый элемент выделяется. В противном случае выбирается пункт меню.
ALTВключает и выключает режим строки меню.
ALT + ПРОБЕЛОтображает меню окно.
ВВОДАктивирует меню и выбирает первый пункт меню, если у элемента есть связанное с ним меню. В противном случае нажатие клавиши выбирает элемент, как если бы пользователь отпускает кнопку мыши во время выбора элемента.
ESCВыход из режима меню.
СТРЕЛКА ВЛЕВОЦиклический переход к предыдущему пункту меню верхнего уровня. Пункты меню верхнего уровня включают имена меню и оконное меню. Если выбранный элемент находится в меню, выбирается предыдущий столбец в меню или выбирается предыдущий пункт меню верхнего уровня.
СТРЕЛКА ВПРАВОРаботает как клавиша со стрелкой влево, за исключением обратного направления. В меню это нажатие клавиши перемещается вперед на один столбец; когда текущий выбранный элемент находится в крайнем правом столбце, выбирается следующее меню.
СТРЕЛКИ вверх или внизАктивирует меню при нажатии в имени меню. При нажатии в меню клавиша со стрелкой вверх выбирает предыдущий элемент. Нажатие клавиши со стрелкой вниз выбирает следующий элемент.

Ключи доступа к меню

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

Чтобы создать ключ доступа для пункта меню, перед любым символом в текстовой строке элемента введите амперсанд. Например, Текстовая строка «&Move» заставляет систему подчеркиванием буквы «M».

Сочетания клавиш для меню

В дополнение к клавише доступа, элементу меню может быть назначена комбинация клавиш. Сочетание клавиш отличается от клавиши доступа, поскольку меню не обязательно должно быть активным для работы сочетания клавиш. Кроме того, клавиша доступа всегда связана с пунктом меню, а сочетание клавиш обычно (но не обязательно) связано с пунктом меню.

Текст, определяющий сочетание клавиш, добавляется в текстовую строку элемента меню. Текст ярлыка отображается справа от имени элемента меню после обратной косой черты и символа табуляции ( \ t). Например, «&Close \ талт + F4» представляет команду «Закрыть» с сочетанием клавиш ALT + F4 в качестве сочетания клавиш и буквой «C» в качестве ключа доступа. Дополнительные сведения см. в разделе сочетанияклавиш.

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

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

В следующих разделах подробно описывается создание меню.

Ресурсы шаблона меню

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

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

Шаблон меню в памяти

Дескрипторы меню

Функции создания меню

Отображение меню

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

Меню классов окон

Пункты меню

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

Элементы команд и элементы, открывающие подменю

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

Идентификатор Menu-Item

Элементы меню, открывающие подменю, имеют идентификаторы так же, как и элементы команд. Однако система не отправляет командное сообщение при выборе такого элемента из меню. Вместо этого система открывает подменю, связанное с пунктом меню.

Menu-Itemное расположение

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

какие пункты содержит строка меню. Смотреть фото какие пункты содержит строка меню. Смотреть картинку какие пункты содержит строка меню. Картинка про какие пункты содержит строка меню. Фото какие пункты содержит строка меню

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

Доступ к пунктам меню программным способом

Элементы меню по умолчанию

Выбранные и очищенные пункты меню

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

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

По умолчанию система отображает флажок или точечный рисунок рядом с выбранными пунктами меню и без точечного рисунка рядом с пунктом снятые пункты меню. Однако функцию сетменуитембитмапс можно использовать для связывания выбранных приложением и снятых растровых изображений с пунктом меню. Затем система использует указанные растровые изображения для указания выбранного или выключенного состояния элемента меню.

Включенные, серые и отключенные пункты меню

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

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

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

Выделенные пункты меню

Owner-Drawn пункты меню

Приложение может полностью управлять внешним видом элемента меню с помощью рисуемого владельцем элемента. Для элементов, рисуемых владельцем, требуется, чтобы приложение занимало общую ответственность за рисование выбранных (выделенных), выбранных и сброшенных состояний. Например, если приложение предоставляет меню шрифтов, оно может нарисовать каждый пункт меню с помощью соответствующего шрифта. элемент для Roman будет нарисован с помощью латиницы, а элемент для наклона будет нарисован курсивом и т. д. Дополнительные сведения см. в разделе создание Owner-Drawn пунктов меню.

Разделители пунктов меню и разрывы строк

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

Сообщения, используемые с меню

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

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

Когда пользователь указывает на пункт меню, открывающий подменю, система отправляет окну-владельцу сообщение WM _ инитменупопуп перед отображением подменю. Это сообщение дает приложению возможность изменить подменю перед его отображением.

Каждый раз, когда пользователь перемещает выделение с одного элемента на другой, система отправляет сообщение WM _ менуселект в оконную процедуру окна «владелец» меню. Это сообщение обозначает выбранный в данный момент пункт меню. Многие приложения предоставляют информационную область в нижней части их основных окон и используют это сообщение для вывода дополнительных сведений о выбранном пункте меню.

Когда пользователь выбирает элемент команды из меню, система отправляет _ командное сообщение WM в процедуру окна. Слово низкого порядка в параметре wParam _ командного сообщения WM содержит идентификатор выбранного элемента. Процедура окна должна проверить идентификатор и соответствующим образом обработать сообщение.

Не все меню доступны в строке меню окна. Во многих приложениях контекстное меню отображается, когда пользователь нажимает правую кнопку мыши в определенном месте. Такие приложения должны обрабатывать сообщение WM _ CONTEXTMENU и отображать контекстное меню, если это необходимо. Если в приложении не отображается контекстное меню, оно должно передать сообщение WM _ CONTEXTMENU функции дефвиндовпрок для обработки по умолчанию.

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

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

Уничтожение меню

Источник

Добавить комментарий

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