- 4,804
- 6,475
Это менеджер меню, по типу очень сильно напоминает DXUT. Предназначен исключительно для SFAPI.
Особенности:
Меню целиком построенно на классах, но с целью скрыть функции обработчиков (рисование и события), функционал был экспортирован через отдельные функции и заново собран в класс уже в .h файле, который вы подключаете.
X, Y - координаты (если оставить стандартные, то все меню будут создаваться каскадом как в ATB).
W, H - размеры.
BackgroundColor - основной цвет меню.
TextColor - цвет текста в меню.
present - определяет будет ли показано меню сразу после создания.
Private - определяет приватное ли это меню, если приватное, то его указатель нельзя получить по названию заголовка.
W, H - размеры
pFunc - _stdcall (CALLBACK) функция, которая будет вызвана при клике по строкам в листинге
text - текст строки
W - длина
X, Y - координаты
pFunc - Функция, которая будет вызвана при клике по элементу
X, Y - координаты переключателя в меню
Func - переменная, значение которой будет изменятся при клике по переключателю
Color - цвет текста переключателя, когда он активен
Особенности:
- Листинги - возможность создания списков с большим количеством строк и скроллбаром. Слишком длинные строки могут обрезаться, или разбиваться на несколько строк - зависит от того, как что вы хотите. При клтке по строке в листинге вызывается ваша функция, в которую передается номер строки, по которой вы кликнули и кнопка мыши, которой был осуществлен клик.
- Поля ввода - возможность создавать простые поля ввода
- Элементы - возможность создавать кликабельные элементы, при клике по которым будет вызвана ваша функция с передачей нажатой кнопки мыши в качестве параметра
- Тумблеры - Возможность создания переключателей (аналоги чекбоксов), при клике будет изменяться значение указанной вами переменной.
- Скролл как в АТБ - если вы расположите элементы управления ниже границ меню, то у меню появится скроллбар.
- Кастомизация - вы можете задать любые цвета и размеры для меню и его элементов
Меню целиком построенно на классах, но с целью скрыть функции обработчиков (рисование и события), функционал был экспортирован через отдельные функции и заново собран в класс уже в .h файле, который вы подключаете.
- Menu - конструктор.
X, Y - координаты (если оставить стандартные, то все меню будут создаваться каскадом как в ATB).
W, H - размеры.
BackgroundColor - основной цвет меню.
TextColor - цвет текста в меню.
present - определяет будет ли показано меню сразу после создания.
Private - определяет приватное ли это меню, если приватное, то его указатель нельзя получить по названию заголовка.
- ~Menu - деструктор (нужен для удаления меню)
- AddListing - добавляет листинг в меню. Возвращает ID добавленного листинга
W, H - размеры
pFunc - _stdcall (CALLBACK) функция, которая будет вызвана при клике по строкам в листинге
- AddTextOnListing - добавляет строку с текстом в листинг. Возвращает ID этой строки
text - текст строки
- AddTextLBOnListing - функция аналогично предыдущей, но имеет LB (LineBreak) - перенос строки.
- RemoveListing - удаляет листинг
- RemoveTextFromListing - удаляет строку из листинга по тексту строки
- RemoveTextFromListing - удаляет строку из листинга по id строки
- IsEmpty - проверяет пуст ли листинг
- GetListingPos - получает координаты листинга в меню
- GetListingSize - получает размеры листинга
- GetIDByTextOnListing - получает ID строки по тексту
- GetScrollBarPos - получает позицию скроллбара
- GetTextOnListingByID - получает текст строки по ID
- SetListingPos - Устанавливает новые координаты листингу в меню
- SetListingSize - устанавливает новые размеры листинга
- SetScrollBarPos - устанавливает новую позицию скроллбару
- SetListingReturn - меняет функцию возврата листингу
- SetTextOnListingByID - задает новый текст строке по ID
- ResetListing - удаляет все строки листинга и сбрасывает позицию скроллбара на 0
- AddInputBox - Создает поле ввода в меню. Возвращает ID
W - длина
- RemoveInputBox - Удаляет поле ввода
- GetInputBoxText - получает текст из поля ввода
- GetInputBoxPos - получает координаты поля ввода в меню
- GetInputBoxW - получает длину поля ввода
- isInput - проверяет, что одно из полей ввода текущего меню активно
- SetInputBoxText - устанавливает текст в поле ввода
- ResetInputBox - очищает поле ввода
- SetInputBoxPos - устанавливает новые координаты полю ввода
- SetInputBoxW - устанавливает новую длину поля ввода
- AddElement - добавляет элемент в меню. Возвращает его ID
X, Y - координаты
pFunc - Функция, которая будет вызвана при клике по элементу
- RemoveElement - удаляет элемент из меню
- GetElementText - получает текст элемента
- GetElementPos - получает координаты элемента в меню
- SetElementText - задает новый текст элементу
- SetElementPos - задает новые координаты в меню элементу
- SetElementReturn - задает новую функцию для вызова при клике
- AddTumbler - добавляет переключатель в меню
X, Y - координаты переключателя в меню
Func - переменная, значение которой будет изменятся при клике по переключателю
Color - цвет текста переключателя, когда он активен
- RemoveTumbler - удаление переключателя из меню
- GetTumblerText - получение текста переключателя
- GetTumblerPos - получение позиции переключателя
- GetTumblerColor - получение цвета переключателя, когда он активен
- SetTumblerText - устанавливает новый текст переключателя
- SetTumblerPos - устанавливает новые координаты переключателя в меню
- SetTumblerReturn - устанавливает новую переменную, которая будет изменяться при клике по переключателю
- SetTumblerColor - устанавливает новый цвет текста для активного состояния переключателя
- GetTitle - получает заголовок меню
- GetPosition - получает координаты меню (относительно разрешения экрана)
- GetSize - получает размеры меню
- IsPresent - проверяет отображается ли сейчас это меню
- GetPrivateStatus - получает текущий статус приватности
- GetScrollBarPos - получает позицию скроллбара
- SetTitle - устанавливает новый заголовок меню
- SetPosition - устанавливает новые координаты меню
- SetSize - устанавливает новые размеры меню
- SetPresent - устанавливает новое состояние меню (отображается/скрыто)
- SetPrivateStatus - устанавливает новый приватный статус
- SetScrollBarPos - устанавливает новую позицию скроллбара
- GetCursorState - получает текущее состояние курсора
- toggleCursor - устанавливает новое состояние курсора (включен/выключен)
- GetMenuAddrByTitle - получает указатель на меню по его заголовку
- MenuLoaded - проверяет загружен ли менеджер меню
- Количество меню не ограничено
- Количество элементов в меню (кликабельные элементы, поля ввода, переключатели, листинги) не ограничено
- Образец функции для листингов: void CALLBACK YourFunction(int ID, byte key);
- Образец функции для кликабельных элементов: void CALLBACK YourFunction(int key);
Это скрины старой версии, но для демонстрации построения очереди сойдет
Вложения
Последнее редактирование: