class CInfoPanel
Класс CInfoPanel — панель для управления и отображения графических элементов (IDrawable) в среде MQL.
Сообщите нам, если считаете, что материал размещён без разрешения.
Обращение по товару «cinfopanel.mqh» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
CInfoPanel — это класс-библиотека на языке MQL, предоставляющий панель для управления и отображения графических элементов типа IDrawable. Класс входит в экосистему CGui и предназначен для создания информационных панелей с возможностью динамического добавления элементов.
При создании объекта задаются ширина и высота панели, которая автоматически добавляется как первый элемент с внутренним смещением. Метод Add позволяет добавлять произвольные объекты IDrawable с заданными смещениями, а метод Update последовательно обновляет все добавленные элементы.
Класс ведёт внутренний динамический массив добавленных drawables и обеспечивает корректное освобождение памяти при уничтожении объекта через деструктор.
Классов: 1 · методов: 3 · конструкторов: 1 · деструкторов: 1 · отдельных функций: 0
class CInfoPanel
Класс CInfoPanel — панель для управления и отображения графических элементов (IDrawable) в среде MQL.
CInfoPanel(int width, int height)
Конструктор класса. Создаёт панель заданной ширины и высоты и добавляет её как первый элемент.
~CInfoPanel()
Деструктор класса. Освобождает память, удаляя все добавленные графические элементы.
void SetPosition(double x, double y)
Устанавливает позицию панели (левый верхний угол) на графике по заданным координатам x и y.
void Add(IDrawable* drawable, double xoff, double yoff)
Добавляет графический элемент IDrawable в панель с заданными смещениями по x и y относительно текущей позиции.
void Update()
Обновляет все добавленные в панель графические элементы.
#property strict
#include <CGui.mqh>;
class CInfoPanel
{
private:
IDrawable* _drawables[];
int _size;
double _yPos;
double _xPos;
CPanel* _panel;
public:
CInfoPanel(int width, int height)
{
_size = 0;
_yPos = 0;
_xPos =50;
_panel = new CPanel();
_panel.Width = width;
_panel.Height = height;
Add(_panel, 0, 50);
}
~CInfoPanel()
{
for (int i=0; i < _size;++i)
{
delete _drawables[i];
}
}
voПоказано первые 50% кода (символов: 693)
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.