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

cgui.mq5

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

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

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

О программе

Библиотека графического интерфейса для MQL-платформ MetaTrader. Предоставляет классы для создания простых элементов управления на графике: панели (прямоугольные области с фоном и рамкой), текстовые метки, пары меток «описание — значение» и горизонтальные линии. Используются стандартные графические объекты MQL с управлением их положением, размерами, цветами и текстом.

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

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

Классы
Класс class CPanel

Класс панели — графический контейнер в виде прямоугольной области с фоном и рамкой.

Класс class CLabel

Класс текстовой метки для отображения строки текста на графике.

Класс class CLabelKeyValue

Класс пары меток «описание — значение» для отображения именованных данных.

Класс class CLine

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

Методы и конструкторы
Конструктор · CPanel CPanel()

Создаёт панель с параметрами по умолчанию и регистрирует графический объект на графике.

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

Удаляет связанный графический объект панели с графика.

Метод · CPanel void SetPosition(ENUM_BASE_CORNER corner, double x, double y)

Устанавливает положение и размеры панели на графике относительно указанного угла.

Метод · CPanel void Update()

Обновляет состояние панели.

Конструктор · CLabel CLabel()

Создаёт метку с параметрами по умолчанию и регистрирует графический объект на графике.

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

Удаляет связанный графический объект метки с графика.

Метод · CLabel void SetPosition(ENUM_BASE_CORNER corner, double x, double y)

Устанавливает положение метки на графике относительно указанного угла.

Метод · CLabel void Update()

Перерисовывает текст метки с текущими параметрами шрифта, размера и цвета.

Конструктор · CLabelKeyValue CLabelKeyValue(string description, double offset)

Создаёт пару меток с описанием и заданным горизонтальным смещением значения.

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

Удаляет обе составляющие метки пары.

Метод · CLabelKeyValue void SetPosition(ENUM_BASE_CORNER corner, double x, double y)

Устанавливает положение обеих меток пары на графике с учётом смещения.

Метод · CLabelKeyValue void Update()

Обновляет цвет и текст значения, затем перерисовывает обе метки пары.

Конструктор · CLine CLine()

Создаёт линию с параметрами по умолчанию и регистрирует графический объект на графике.

Метод · CLine void SetPosition(ENUM_BASE_CORNER corner, double x, double y)

Устанавливает положение линии на графике относительно указанного угла.

Метод · CLine void Update()

Обновляет ширину и высоту линии на графике.

Получить полный код

Поиск по коду файла

#property strict

static int guiId=0;

interface IDrawable
{
   void SetPosition(ENUM_BASE_CORNER corner, double x, double y);
   void Update();
};

class CPanel: public IDrawable
{
private:
   string _id;

public:  
   double           X;
   double           Y;
   double           Width;
   double           Height;
   color            Color;
   color            BorderColor;
   ENUM_BASE_CORNER Corner;

   CPanel()
   {  
      _id="pnl"+IntegerToString(guiId);
      guiId++;

      X = Y = 0;
      Width = Height = 100;
      Color = 0x3a3027;
      BorderColor = 0xc2c236;
      Corner=CORNER_LEFT_UPPER;

      ObjectCreate(_id, OBJ_RECTANGLE_LABEL,0,0,0);
      ObjectSet(_id, OBJPROP_CORNER, Corner);
      ObjectSet(_id, OBJPROP_BGCOLOR, Color);
      ObjectSet(_id, OBJPROP_BACK, true);
      ObjectSet(_id, OBJPROP_BORDER_TYPE, BORDER_FLAT);
      ObjectSet(_id, OBJPROP_WIDTH, 2);
      ObjectSet(_id, OBJPROP_BACK, true);
      ObjectSet(_id, OBJPROP_COLOR, BorderColor); 

   }

   ~CPanel()
   {
     ObjectDelete(_id);
   }

   void SetPosition(ENUM_BASE_CORNER corner, double x, double y)
   {
      X = x;
      Y = y;
      ObjectSet(_id, OBJPROP_CORNER, corner);
      ObjectSet(_id, OBJPROP_XDISTANCE, X);
      ObjectSet(_id, OBJPROP_YDISTANCE, Y);
      ObjectSet(_id, OBJPROP_XSIZE, Width);
      ObjectSet(_id, OBJPROP_YSIZE, Height);
   }

   void Update()
   {
   }
};

class CLabel: public IDrawable
{
private:
   string _id;

public:
   double X;
   double Y;
   string Text;
   string Font;
   int    FontSize;
   color  Color;

   CLabel()
   {
      _id = "lbl"+IntegerToString(guiId);
      guiId++;
      X=Y=0;
      Font="Courier New";
      FontSize=8;
      Color=White;

     ObjectCreate(_id, OBJ_LABEL, 0, 0, 0);
     ObjectSet(_id, OBJPROP_BACK, false);
   }

   ~CLabel()
   {
     ObjectDelete(_id);
   }

   void SetPosition(ENUM_BASE_CORNER corner, double x, double y)
   {
      X = x;
      Y = y;
      Objec

Показано первые 50% кода (символов: 2754)

Открыть по тарифу

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

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
275,40₽ ≈ $3.37