← К каталогу
Исходный код · ID 2386

cinfopanel.mqh

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

CInfoPanel — это класс-библиотека на языке MQL, предоставляющий панель для управления и отображения графических элементов типа IDrawable. Класс входит в экосистему CGui и предназначен для создания информационных панелей с возможностью динамического добавления элементов.

При создании объекта задаются ширина и высота панели, которая автоматически добавляется как первый элемент с внутренним смещением. Метод Add позволяет добавлять произвольные объекты IDrawable с заданными смещениями, а метод Update последовательно обновляет все добавленные элементы.

Класс ведёт внутренний динамический массив добавленных drawables и обеспечивает корректное освобождение памяти при уничтожении объекта через деструктор.

Состав библиотеки

Классов: 1 · методов: 3 · конструкторов: 1 · деструкторов: 1 · отдельных функций: 0

Классы
Класс class CInfoPanel

Класс CInfoPanel — панель для управления и отображения графических элементов (IDrawable) в среде MQL.

Методы и конструкторы
Конструктор · CInfoPanel CInfoPanel(int width, int height)

Конструктор класса. Создаёт панель заданной ширины и высоты и добавляет её как первый элемент.

Деструктор · CInfoPanel ~CInfoPanel()

Деструктор класса. Освобождает память, удаляя все добавленные графические элементы.

Метод · CInfoPanel void SetPosition(double x, double y)

Устанавливает позицию панели (левый верхний угол) на графике по заданным координатам x и y.

Метод · CInfoPanel void Add(IDrawable* drawable, double xoff, double yoff)

Добавляет графический элемент IDrawable в панель с заданными смещениями по x и y относительно текущей позиции.

Метод · CInfoPanel 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 и перейдите к оплате.

Стоимость полного кода
69,30₽ ≈ $0.85