Библиотеки: EasyAndFastGUI - библиотека для создания графических интерфейсов - страница 23

 

Hi All,

I tried to use that library and add an Histogram with several series like the one from the amazing HighChart JS library ...




I first tried with the CGraph component, but it apear we can not add several series in Histogram mode, or I did not managed to.

Then I founded the one from the standard MT5 library in Scripts \ Examples \ Canvas \ Charts \ HistogramChartSample.mq5



I managed to customize it a little bit ...


and then I tried to create CHistogram based on CElement. So I create a CHistogram compoenent in Controls folder. I reference that component in WndContainer.mqh and create a sample expert in EasyAndFastGUI \ Experts \ och_test_histogram.mq 5.

But I do not managed to include in CWindow component.

This will allow to add on CWindow histogram and Pie ...

Any help will be appreciate.

Bst regards,

och

Interactive JavaScript charts for your webpage | Highcharts
  • www.highcharts.com
Highcharts - Interactive JavaScript charts for your web pages.
Файлы:
 

Hi All,


I fixed it, briefly, but I still have a memory leak when I remove the expert.



I don't know how to track this memory leak ...


Bst regards,

och

Файлы:
EasyAndFastGUI.zip  1022 kb
 

Здравствуйте, Анатолий,

Мне сложно изучить все статьи о вашей библиотеке. Я не хочу вникать в архитектуру и детали, как она устроена. Я просто хочу, чтобы она работала в моих советниках. Не думали ли вы когда-нибудь создать что-то вроде учебника по ней?

Вопрос. Когда я компилирую ExampleEAF, MetaEditor выдает мне эти предупреждения (я использую MT5):

Предупреждения MetaEditor после компиляции.

С наилучшими пожеланиями,

Джефф

 

Привет всем,

Евгений Барабаныч, вы получили ответ по поводу корректировки программы?

Спасибо за помощь

 

Добрый день, Анатолий. Хочу поздравить вас с отличной работой. И воспользуйтесь возможностью, чтобы спросить, можете ли вы уместить гистограмму в последнем столбце справа в таблице из трех столбцов. В первом столбце будет прайс-лист, во втором - объем торгов на каждом уровне цен, а в третьем - гистограмма. Я перевел с португальского на русский. Надеюсь, это было понятно.

 
tailertche #:

Добрый день, Анатолий. Хочу поздравить вас с отличной работой. И воспользуйтесь возможностью, чтобы спросить, можете ли вы уместить гистограмму в последнем столбце справа в таблице из трех столбцов. В первом столбце будет прайс-лист, во втором - объем торгов на каждом уровне цен, а в третьем - гистограмма. Я перевел с португальского на русский. Надеюсь, это было понятно.

Добрый день.

К сожалению, уже давно не занимаюсь этой библиотекой. Занят сейчас другим проектом. 

 
Anatoli Kazharski # :

Boa tarde.

Infelizmente, eu não lidei com essa biblioteca por muito tempo. Ocupado agora com outro projeto. 

Доброе утро. Я внес некоторые изменения в код и получил отличный результат. Но все благодаря его учению. Еще раз поздравляю с работой, которая действительно заслуживает признания.

 

Здравствуйте, эта библиотека все еще поддерживается?

спасибо

 

Здравствуйте, вам нужно заменить


CElement:: Update(true)

CElementBase:: IsLocked()

CElementBase:: IsVisible()

CElementBase:: IsAvailable()


Для примера



Надеюсь, это поможет

с уважением,

 

Не подскажете, почему для дополнительного окна может не генериться событие закрытия окна. Для главного в OnChartEvent() получаю id 1007, а для дополнительного нет...

Ставлю использование кнопки закрытия методом CloseButtonIsUsed() так же, как и с главным окном. Окно получаю и крестик закрытия. Но когда его нажимаешь, не генерится правильный код закрытия. Да и вообще никакие события не работают. Не передвигается доп. окно в том числе.

bool CButton::OnClickButton(const string pressed_object)
  {
//--- Выйдем, если (1) чужое имя объекта или (2) элемент заблокирован
   if(m_canvas.ChartObjectName()!=pressed_object || CElementBase::IsLocked())
      return(false);
//--- Если это кнопка с двумя состояниями
   if(m_two_state)
      IsPressed(!IsPressed());
//--- Перерисовать элемент
   Update(true);
//--- Отправим сообщение об этом
   ::EventChartCustom(m_chart_id,ON_CLICK_BUTTON,CElementBase::Id(),CElementBase::Index(),m_canvas.ChartObjectName());
   return(true);
  }

Вот здесь. Почему-то m_canvas.ChartObjectName()!=pressed_object.