class CPanel
Класс панели — графический контейнер в виде прямоугольной области с фоном и рамкой.
Сообщите нам, если считаете, что материал размещён без разрешения.
Обращение по товару «cgui.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Библиотека графического интерфейса для MQL-платформ MetaTrader. Предоставляет классы для создания простых элементов управления на графике: панели (прямоугольные области с фоном и рамкой), текстовые метки, пары меток «описание — значение» и горизонтальные линии. Используются стандартные графические объекты MQL с управлением их положением, размерами, цветами и текстом.
Классов: 4 · методов: 8 · конструкторов: 4 · деструкторов: 3 · отдельных функций: 0
class CPanel
Класс панели — графический контейнер в виде прямоугольной области с фоном и рамкой.
class CLabel
Класс текстовой метки для отображения строки текста на графике.
class CLabelKeyValue
Класс пары меток «описание — значение» для отображения именованных данных.
class CLine
Класс графической линии (тонкого прямоугольника) для разделения или декорирования элементов.
CPanel()
Создаёт панель с параметрами по умолчанию и регистрирует графический объект на графике.
~CPanel()
Удаляет связанный графический объект панели с графика.
void SetPosition(ENUM_BASE_CORNER corner, double x, double y)
Устанавливает положение и размеры панели на графике относительно указанного угла.
void Update()
Обновляет состояние панели.
CLabel()
Создаёт метку с параметрами по умолчанию и регистрирует графический объект на графике.
~CLabel()
Удаляет связанный графический объект метки с графика.
void SetPosition(ENUM_BASE_CORNER corner, double x, double y)
Устанавливает положение метки на графике относительно указанного угла.
void Update()
Перерисовывает текст метки с текущими параметрами шрифта, размера и цвета.
CLabelKeyValue(string description, double offset)
Создаёт пару меток с описанием и заданным горизонтальным смещением значения.
~CLabelKeyValue()
Удаляет обе составляющие метки пары.
void SetPosition(ENUM_BASE_CORNER corner, double x, double y)
Устанавливает положение обеих меток пары на графике с учётом смещения.
void Update()
Обновляет цвет и текст значения, затем перерисовывает обе метки пары.
CLine()
Создаёт линию с параметрами по умолчанию и регистрирует графический объект на графике.
void SetPosition(ENUM_BASE_CORNER corner, double x, double y)
Устанавливает положение линии на графике относительно указанного угла.
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.