59 lines
2.3 KiB
MQL5
59 lines
2.3 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| View |
|
|
//| Copyright 2006-2011, www.FXmaster.de |
|
|
//| www.FXmaster.de |
|
|
//+------------------------------------------------------------------+
|
|
#property copyright "Copyright 2006-2011, www.FXmaster.de"
|
|
#property link "www.FXmaster.de"
|
|
#property version "1.00"
|
|
|
|
#include "..\Lib\GraphLib.mqh"
|
|
|
|
//------------------------------------------------------------------ CView
|
|
class CView
|
|
{
|
|
//--- базовые функции
|
|
public:
|
|
CView() { }; // конструктор
|
|
~CView() { }; // деструктор
|
|
virtual void Create(long chart, string name, int wnd, color clr, color bgclr, color selclr, int x, int y, int dx, int dy, int corn=0, int fontsize=8, string font="Arial");
|
|
|
|
//--- функции обработки состояния
|
|
public:
|
|
virtual int OnClick(string name) { return(0); }; // обработка события клика на объекте
|
|
|
|
//--- парметры отображения
|
|
public:
|
|
int m_x, m_y; // координаты верхнего левого угла окна
|
|
int m_x0, m_y0; // координаты начала отсчета
|
|
int m_dx, m_dy; // размер окна
|
|
color m_clr, m_bgclr, m_selclr; // цвет рамки, фона, цвета выделения
|
|
long m_chart; // ID чарта
|
|
int m_wnd; // номер подокна чарта
|
|
string m_name; // имя объекта
|
|
int m_corn; // угол привязки
|
|
string m_font; // имя шрифта
|
|
int m_fontsize; // размер шрифта
|
|
|
|
//--- функции отображения
|
|
public:
|
|
virtual void Draw() {}; // обновить вид объекта и дочерних объектов
|
|
virtual void DeleteView() {}; // удалить вид объекта и дочерних объектов
|
|
bool IsOpenView();
|
|
};
|
|
//------------------------------------------------------------------ Create
|
|
void CView::Create(long achart, string name, int wnd, color clr, color bgclr, color selclr, int x, int y, int dx, int dy, int corn=0, int fontsize=8, string font="Arial")
|
|
{
|
|
m_chart=achart; m_name=name; m_wnd=wnd;
|
|
m_clr=clr; m_bgclr=bgclr; m_selclr=selclr;
|
|
m_x=x; m_y=y; m_dx=dx; m_dy=dy; m_corn=corn;
|
|
m_fontsize=fontsize; m_font=font;
|
|
m_x0=0; m_y0=0; // координаты начала отсчета
|
|
}
|
|
//------------------------------------------------------------------ IsOpenView
|
|
bool CView::IsOpenView()
|
|
{
|
|
long first=ChartFirst(); long next=ChartNext(first);
|
|
while (first!=next && next>0) { if (m_chart==next) return(true); next=ChartNext(next); }
|
|
return(false);
|
|
}
|