UI Documentation - TonSharp/WAPITIS GitHub Wiki

Introduction

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

Быстрый доступ:

Дополнительно:


UI

Находится в файле UI.hpp. Это базовый класс для всех создаваемых элементов. Все зависимости указываются в файле UILibs.hpp.

Constructor

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

UI(wstring text, HWND parent, HINSTANCE hInstance)

Create

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

virtual void Create(DWORD style, Transform pos, Transform size)

IsContextMenu

Проверяет клик ПКМ по элементу для вызова контекстного меню. В качестве аргументов принимает структуру CallbackArgs. Если щелчок был сделан, возвращает true, иначе - false. Для правильной работы вызывается только из функции обработки сообщений.

bool IsContextMenu(CallbackArgs args)

AddVScroll

Добавляет возможность вертикальной прокрутки контента. В случае вертикального переполнения элемента появляется вертикальная полоса прокрутки (Примечание: Работает не со всеми элементами).

virtual void AddVScroll()

AddHScroll

Аналог AddVScroll с горизонтальной прокруткой.

virtual void AddHScroll()

SetText

Устанавливает отображаемый текст элемента.

virtual void SetText(wstring text)

Get

Возвращает дескриптор элемента.

HWND Get();

GetPointer

Возвращает указатель на дескриптор элемента.

HWND* GetPointer()

ButtonBase

Является наследником класса UI и служит родителем для всех основных типов кнопок (обычная кнопка, радиокнопка, чекбокс и т.д.).

Constructor

Аналогично с UI.

Create

Аналогично с UI.

SetState

Метод изменения состояния кнопки (нажата или отжата). В качестве аргумента принимает bool. Принимает true для установки кнопки в состояние нажатия, иначе - false.

virtual void SetState(bool state)

SetCheck

Метод для изменения состояния переключателя для чекбокса. В качестве аргумента принимает bool. Аналогично SetState.

virtual void SetCheck(bool check)

IsChecked

Метод проверяет, выбран ли чекбокс или прочий схожий элемент. Возвращает true, иначе - false.

virtual bool IsChecked()

IsClicked

Метод проверяет, была ли нажата кнопка. Возвращает true, если было осуществлено нажатие, иначе - false. В качестве аргумента принимает структуру CallbackArgs.

virtual bool IsClicked(CallbackArgs args)

Button

Стандартная кнопка. Методы идентичны ButtonBase.


CheckBox

Поле с флажком. Методы идентичны ButtonBase.


CheckBox3

Поле с флажком с тремя состояниями. Методы идентичны ButtonBase.


RadioButton

Поле, в котором может быть выбран только один элемент из данных в группе. Методы идентичны ButtonBase.


Text

Статичный элемент отображения текста. Методы идентичны UI.


ComboBox

Выпадающий список.

Constructor

Аналогично с UI.

Create

Аналогично с UI.

DisableNOScroll

Если на элементе присутствуют полосы прокрутки, то они не будут скрыты даже в случае, если контент не переполняет элемент.

void DisableNOScroll()

AddItem

Метод добавляет указанную строку в конец списка.

void AddItem(wstring str)

AddRange

Метод добавляет несколько строк в конец списка.

void AddRange(vector<wstring> data)

RemoveItemByIndex

Метод удаляет элемент из списка по его индексу.

void RemoveItemByIndex(int index)

RemoveSelectedItem

Метод удаляет выделенный элемент.

void RemoveSelectedItem()

Clear

Метод полностью очищает список.

void Clear()

GetCount

Метод возвращает количество элементов в списке.

int GetCount()

GetSelectedIndex

Метод возвращает индекс выделенного элемента списка.

int GetSelectedIndex()

GetStringByIndex

Метод возвращает строку по ее индексу в списке.

wstring GetStringByIndex(int index)

GetSelectedText

Метод возвращает выбранную строку списка.

wstring GetSelectedText()

SelectItem

Метод выделяет элемент по его индексу.

void SelectItem(int index)

IsSelectChanged

Метод проверяет, был ли изменен выбор элемента. Возвращает true, если был выбран другой элемент, иначе - false.

bool IsSelectChanged(CallbackArgs args)

IsDoubleClick

Метод проверяет, был ли сделан двойной щелчок мыши по элементу. Возвращает true, если элемент был нажат два раза, иначе - false.

bool IsDoubleClick(CallbackArgs args)

ListBox

Список, содержащий строки. Функционал повторяет ComboBox, за исключением следующих методов:

RemoveSelectedItems

Метод удаляет все выделенные элементы списка.

void RemoveSelectedItems()

SelectItems

Метод выбирает несколько элементов из списка (от начального индекса до конечного).

void SelectItems(int startIndex, int endIndex)

GetSelectedCount

Метод возвращает количество выбранных элементов списка.

int GetSelectedCount()

Input

Поле для ввода текста. Конструктор аналогичен с UI.

LimitText

Метод устанавливает ограничение по длине текста.

void LimitText(int maxCount)

MultiLine

Метод делает поле многострочным.

void MultiLine()

(Left/Center/Right)Align

Метод устанавливает выравнивание текста по левому краю / центру / правому краю.

void LeftAlign()

void CenterAlign()

void RightAligin()

Lowercase

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

void Lowercase()

Uppercase

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

void Uppercase()

Number

Метод устанавливает стиль, который позволяет вводить только цифры.

void Number()

Password

Данный метод устанавливает стиль, который скрывает все символы и отображает вместо них значок звёздочки (*).

void Password()

ReadOnly

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

void ReadOnly()

GetLine

Данный метод возвращает строку по ее индексу (Примечание: В однострочном поле индекс всегда равен 0).

wstring GetLine(int line)

GetLinesCount

Данный метод возвращает число всех строк поля для ввода (при использовании многострочного поля).

int GetLinesCount()

IsChanged

Данный метод определяет, были ли внесены изменения в поле ввода. Возвращает true, если пользователь написал или стёр символ, иначе - false.

bool IsChaged(CallbackArgs args)

UI Styles

Этот раздел пока пуст.

⚠️ **GitHub.com Fallback** ⚠️