reckfellENGINE

MenuBar

Строка заголовков для дочерних PopupMenu с локальным или системным размещением.

На этой странице
class MenuBarReckfellSharpНаследует Control

Добавьте PopupMenu непосредственными детьми MenuBar. Каждый создаёт один заголовок; вложенное подменю относится к своему PopupMenu, обычный Entity/Control заголовок не создаёт. Команды добавляйте в PopupMenu и обрабатывайте его IdPressed, а не события строки заголовков.

Индекс 0…GetMenuCount()-1 — позиция среди непосредственных PopupMenu, включая hidden/disabled. Это не индекс всех детей и не ID команды. Перестановка/удаление меняет индексы. GetMenuPopup возвращает существующий дочерний объект; пока он принадлежит строке меню, не освобождайте его отдельно. RemoveChild отсоединяет без Free.

Стандартный заголовок берётся из PopupMenu.Title, а если Title пуст — из Name. SetMenuTitle задаёт отдельную подпись строки, не меняя Title/Name окна. Присваивание текущего исходного Title/Name возвращает автоматическое отслеживание. GetMenuTitle возвращает исходную строку, не обязательно её перевод на экране.

Ограничение текущей реализации: MoveChild сопоставляет запись меню по исходному заголовку. При одинаковых заголовках флаги hidden/disabled и другие данные могут перейти к другому PopupMenu. Для динамической перестановки используйте различимые исходные заголовки; если совпадение необходимо, создавайте строку сразу в конечном порядке. Совпадение переводов при разных исходных строках — отдельный случай.

PreferGlobalMenu = true — предпочтение, не гарантия системного меню. Проверяйте IsNativeMenu. Для предсказуемой строки внутри окна задайте false. В системном режиме локальный минимум равен нулю, а оформление/обработка зависят от платформы; Flat и тема локальной строки не управляют стилем ОС. StartIndex задаёт порядок размещения MenuBar в системной строке, не сдвигает локальные индексы PopupMenu.

SetMenuHidden скрывает заголовок без удаления меню. SetMenuDisabled запрещает обычное открытие/обработку сочетаний через эту строку; прямой доступ к PopupMenu и обработчикам приложения остаётся. SetDisableShortcuts выключает локальный маршрут сочетаний MenuBar, не все сочетания приложения и не гарантированно обработку системного меню.

SwitchOnHover переключает соседние меню, когда одно уже открыто; настройте до открытия. Это не открытие каждого меню при простом наведении. Language/TextDirection относятся к формированию текста, не к локали приложения. При динамической смене этих свойств повторно назначьте заголовки через SetMenuTitle(i, GetMenuTitle(i)), чтобы явно обновить их текстовые буферы.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

MenuBarКонструктор
# MenuBar
C#
public MenuBar();

Создаёт строку: PreferGlobalMenu = true, SwitchOnHover = true, Flat = false, StartIndex = -1, Language пустой, TextDirection.Auto. FocusMode = Accessibility; заголовки появляются из дочерних PopupMenu.

Свойства6

FlatСвойство
# Flat
C#
public bool Flat { get; set; }

Пропускать рисунок стилей состояний локальных заголовков, false по умолчанию. Текст и размерные поля темы сохраняются; не изменяет оформление системного меню.

LanguageСвойство
# Language
C#
public string Language { get; set; }

Язык shaping заголовков; пустой использует локаль элемента. Не меняет исходные строки/локаль приложения. Для немедленного обновления при динамической смене повторно назначьте заголовки SetMenuTitle.

PreferGlobalMenuСвойство
# PreferGlobalMenu
C#
public bool PreferGlobalMenu { get; set; }

Предпочитать системную строку меню, true по умолчанию. Требуется поддержка NativeMenu; проверяйте IsNativeMenu. false оставляет строку внутри окна. Это не признак фактического режима.

StartIndexСвойство
# StartIndex
C#
public int StartIndex { get; set; }

Порядок размещения MenuBar в системной строке, -1 по умолчанию — добавление в конец. Не переиндексирует дочерние PopupMenu и не задаёт ID команды. В локальном режиме не меняет индексы.

SwitchOnHoverСвойство
# SwitchOnHover
C#
public bool SwitchOnHover { get; set; }

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

TextDirectionСвойство
# TextDirection
C#
public Control.TextDirection TextDirection { get; set; }

Направление shaping, Auto по умолчанию; Inherited берёт направление раскладки. Не разворачивает исходные строки. При динамической смене повторно назначьте заголовки для обновления shaping.

Методы24

GetLanguagestring
# GetLanguage
C#
public string GetLanguage();

Язык shaping заголовков; пустой использует локаль элемента. Не меняет исходные строки/локаль приложения. Для немедленного обновления при динамической смене повторно назначьте заголовки SetMenuTitle.

Возвращает string

Язык shaping либо пустая строка.

GetMenuCountint
# GetMenuCount
C#
public int GetMenuCount();

Число непосредственных дочерних PopupMenu, включая hidden/disabled; не число команд внутри них.

Возвращает int

Количество непосредственных PopupMenu.

GetMenuPopupPopupMenu
# GetMenuPopup
C#
public PopupMenu GetMenuPopup(int menu);

Возвращает общий дочерний PopupMenu по текущему индексу, null для отсутствующего/отрицательного. Не копирует объект и не открывает его.

Параметры
ИмяТипПо умолчанию
menuint—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

Возвращает PopupMenu

Общий дочерний PopupMenu либо null.

GetMenuTitlestring
# GetMenuTitle
C#
public string GetMenuTitle(int menu);

Исходная подпись заголовка. Не является постоянным ID и может отличаться от PopupMenu.Title и перевода на экране.

Параметры
ИмяТипПо умолчанию
menuint—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

Возвращает string

Исходная подпись заголовка.

GetMenuTooltipstring
# GetMenuTooltip
C#
public string GetMenuTooltip(int menu);

Сохранённая подсказка заголовка, не текущая видимость tooltip.

Параметры
ИмяТипПо умолчанию
menuint—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

Возвращает string

Сохранённая подсказка заголовка.

GetStartIndexint
# GetStartIndex
C#
public int GetStartIndex();

Порядок размещения MenuBar в системной строке, -1 по умолчанию — добавление в конец. Не переиндексирует дочерние PopupMenu и не задаёт ID команды. В локальном режиме не меняет индексы.

Возвращает int

Порядок размещения или -1 для конца.

GetTextDirectionControl.TextDirection
# GetTextDirection
C#
public Control.TextDirection GetTextDirection();

Направление shaping, Auto по умолчанию; Inherited берёт направление раскладки. Не разворачивает исходные строки. При динамической смене повторно назначьте заголовки для обновления shaping.

Возвращает Control.TextDirection

Текущий Control.TextDirection.

IsFlatbool
# IsFlat
C#
public bool IsFlat();

Пропускать рисунок стилей состояний локальных заголовков, false по умолчанию. Текст и размерные поля темы сохраняются; не изменяет оформление системного меню.

Возвращает bool

Флаг пропуска локальных фонов состояний.

IsMenuDisabledbool
# IsMenuDisabled
C#
public bool IsMenuDisabled(int menu);

Флаг disabled заголовка, отдельно от disabled его внутренних команд.

Параметры
ИмяТипПо умолчанию
menuint—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

Возвращает bool

Disabled-флаг заголовка.

IsMenuHiddenbool
# IsMenuHidden
C#
public bool IsMenuHidden(int menu);

Флаг скрытия заголовка; не Visible всплывающего окна PopupMenu.

Параметры
ИмяТипПо умолчанию
menuint—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

Возвращает bool

Hidden-флаг заголовка.

IsNativeMenubool
# IsNativeMenu
C#
public bool IsNativeMenu();

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

Возвращает bool

true при поддерживаемом включённом системном режиме.

IsPreferGlobalMenubool
# IsPreferGlobalMenu
C#
public bool IsPreferGlobalMenu();

Предпочитать системную строку меню, true по умолчанию. Требуется поддержка NativeMenu; проверяйте IsNativeMenu. false оставляет строку внутри окна. Это не признак фактического режима.

Возвращает bool

Флаг предпочтения системного меню.

IsSwitchOnHoverbool
# IsSwitchOnHover
C#
public bool IsSwitchOnHover();

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

Возвращает bool

Флаг переключения открытых меню по наведению.

SetDisableShortcutsvoid
# SetDisableShortcuts
C#
public void SetDisableShortcuts(bool disabled);

Выключает локальную обработку сочетаний MenuBar. Не запрещает прямые действия PopupMenu и не является глобальной блокировкой ввода/системного меню. Getter в этом SDK не предоставлен.

Параметры
ИмяТипПо умолчанию
disabledbool—
disabled

Выключает локальную обработку сочетаний MenuBar. Не запрещает прямые действия PopupMenu и не является глобальной блокировкой ввода/системного меню. Getter в этом SDK не предоставлен.

SetFlatvoid
# SetFlat
C#
public void SetFlat(bool enabled);

Пропускать рисунок стилей состояний локальных заголовков, false по умолчанию. Текст и размерные поля темы сохраняются; не изменяет оформление системного меню.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Пропускать рисунок стилей состояний локальных заголовков, false по умолчанию. Текст и размерные поля темы сохраняются; не изменяет оформление системного меню.

SetLanguagevoid
# SetLanguage
C#
public void SetLanguage(string language);

Язык shaping заголовков; пустой использует локаль элемента. Не меняет исходные строки/локаль приложения. Для немедленного обновления при динамической смене повторно назначьте заголовки SetMenuTitle.

Параметры
ИмяТипПо умолчанию
languagestring—
language

Язык shaping заголовков; пустой использует локаль элемента. Не меняет исходные строки/локаль приложения. Для немедленного обновления при динамической смене повторно назначьте заголовки SetMenuTitle.

SetMenuDisabledvoid
# SetMenuDisabled
C#
public void SetMenuDisabled(int menu, bool disabled);

Отключает заголовок для обычного ввода и локального маршрута сочетаний. Запись/индекс/дочерний PopupMenu остаются. Не блокирует вызов пользовательского обработчика команды из кода.

Параметры
ИмяТипПо умолчанию
menuint—
disabledbool—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

disabled

Отключает заголовок для обычного ввода и локального маршрута сочетаний. Запись/индекс/дочерний PopupMenu остаются. Не блокирует вызов пользовательского обработчика команды из кода.

SetMenuHiddenvoid
# SetMenuHidden
C#
public void SetMenuHidden(int menu, bool hidden);

Скрывает заголовок, не удаляя PopupMenu и не меняя GetMenuCount. Это не запрет прямого доступа к объекту меню.

Параметры
ИмяТипПо умолчанию
menuint—
hiddenbool—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

hidden

Скрывает заголовок, не удаляя PopupMenu и не меняя GetMenuCount. Это не запрет прямого доступа к объекту меню.

SetMenuTitlevoid
# SetMenuTitle
C#
public void SetMenuTitle(int menu, string title);

Задаёт подпись заголовка, не меняя PopupMenu.Title/Name. Совпадение с текущим исходным Title/Name возвращает автоматическое отслеживание. Повторная запись обновляет shaping.

Параметры
ИмяТипПо умолчанию
menuint—
titlestring—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

title

Задаёт подпись заголовка, не меняя PopupMenu.Title/Name. Совпадение с текущим исходным Title/Name возвращает автоматическое отслеживание. Повторная запись обновляет shaping.

SetMenuTooltipvoid
# SetMenuTooltip
C#
public void SetMenuTooltip(int menu, string tooltip);

Задаёт отдельную подсказку заголовка строки. Не меняет tooltip команд внутри PopupMenu.

Параметры
ИмяТипПо умолчанию
menuint—
tooltipstring—
menu

Индекс 0…GetMenuCount()-1; GetMenuPopup возвращает null для отсутствующего индекса.

tooltip

Задаёт отдельную подсказку заголовка строки. Не меняет tooltip команд внутри PopupMenu.

SetPreferGlobalMenuvoid
# SetPreferGlobalMenu
C#
public void SetPreferGlobalMenu(bool enabled);

Предпочитать системную строку меню, true по умолчанию. Требуется поддержка NativeMenu; проверяйте IsNativeMenu. false оставляет строку внутри окна. Это не признак фактического режима.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Предпочитать системную строку меню, true по умолчанию. Требуется поддержка NativeMenu; проверяйте IsNativeMenu. false оставляет строку внутри окна. Это не признак фактического режима.

SetStartIndexvoid
# SetStartIndex
C#
public void SetStartIndex(int enabled);

Порядок размещения MenuBar в системной строке, -1 по умолчанию — добавление в конец. Не переиндексирует дочерние PopupMenu и не задаёт ID команды. В локальном режиме не меняет индексы.

Параметры
ИмяТипПо умолчанию
enabledint—
enabled

Целочисленный порядок системного размещения, -1 для конца; имя enabled в SDK не делает параметр boolean.

SetSwitchOnHovervoid
# SetSwitchOnHover
C#
public void SetSwitchOnHover(bool enable);

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

Параметры
ИмяТипПо умолчанию
enablebool—
enable

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

SetTextDirectionvoid
# SetTextDirection
C#
public void SetTextDirection(Control.TextDirection direction);

Направление shaping, Auto по умолчанию; Inherited берёт направление раскладки. Не разворачивает исходные строки. При динамической смене повторно назначьте заголовки для обновления shaping.

Параметры
ИмяТипПо умолчанию
directionControl.TextDirection—
direction

Направление shaping, Auto по умолчанию; Inherited берёт направление раскладки. Не разворачивает исходные строки. При динамической смене повторно назначьте заголовки для обновления shaping.

Свойства темы

Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.

Ключ и типОписание
font_color
Color

Color текста по умолчанию для пункта меню.

По умолчанию: Color(0.875, 0.875, 0.875, 1)
font_disabled_color
Color

Color текста используется, когда пункт меню отключен.

По умолчанию: Color(0.875, 0.875, 0.875, 0.5)
font_focus_color
Color

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

По умолчанию: Color(0.95, 0.95, 0.95, 1)
font_hover_color
Color

Color текста, используемый при наведении курсора на пункт меню.

По умолчанию: Color(0.95, 0.95, 0.95, 1)
font_hover_pressed_color
Color

Color текста, используемый при наведении курсора на пункт меню и нажатии на него.

По умолчанию: Color(1, 1, 1, 1)
font_outline_color
Color

Оттенок контура текста пункта меню.

По умолчанию: Color(0, 0, 0, 1)
font_pressed_color
Color

Color текста, используемый при нажатии на пункт меню.

По умолчанию: Color(1, 1, 1, 1)
h_separation
int

Горизонтальное пространство между пунктами меню.

По умолчанию: 4
outline_size
int

Размер контура текста. Примечание: При использовании шрифта с включенным FontFile.MultichannelSignedDistanceField его FontFile.MsdfPixelRange должен быть установлен как минимум в дважды значения MenuBar.outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.

По умолчанию: 0
font
Font

Font текста пункта меню.

font_size
int

Font размер текста меню.

disabled
StyleBox

StyleBox используется, когда элемент меню отключен.

disabled_mirrored
StyleBox

StyleBox используется, когда элемент меню отключен (для макетов с направлением справа налево).

hover
StyleBox

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

hover_mirrored
StyleBox

StyleBox используется при наведении курсора на элемент меню (для макетов с направлением справа налево).

hover_pressed
StyleBox

StyleBox используется при одновременном нажатии на элемент меню и наведении на него курсора.

hover_pressed_mirrored
StyleBox

StyleBox используется при одновременном нажатии на элемент меню и наведении на него курсора (для макетов с направлением справа налево).

normal
StyleBox

StyleBox по умолчанию для пункта меню.

normal_mirrored
StyleBox

StyleBox по умолчанию для пункта меню (для макетов справа налево).

pressed
StyleBox

StyleBox используется при нажатии на пункт меню.

Ужасно

pressed_mirrored
StyleBox

StyleBox используется при нажатии на элемент меню (для макетов с направлением справа налево).

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.