Обсуждение статьи "Графические интерфейсы X: Текстовое поле ввода, слайдер картинок и простые элементы управления (build 5)" - страница 2

 
maj:

Hello

in last two articles we don't see mql4 files

I know mt4 don't support multiple chart and those thing

but do you will upload an update for mql4?

I mean for latest functions like text edit and mouse and CPU peformanc

MT4 version of the library will no longer be updated.
 
Anatoli Kazharski:
MT4 version of the library will no longer be updated.

Толчок к переходу на MQL5

 

Толь, лишнее (или что-то пропущено вместо лишнего) в TextEdit.mqh

//+------------------------------------------------------------------+
//| Создаёт группу объектов текстового поля ввода                    |
//+------------------------------------------------------------------+
bool CTextEdit::CreateTextEdit(const long chart_id,const int subwin,const string label_text,const int x,const int y)
  {
//--- Выйти, если нет указателя на форму
   if(!CElement::CheckWindowPointer(::CheckPointer(m_wnd)))
      return(false);
//--- Инициализация переменных
   m_id          =m_wnd.LastId()+1;
   m_chart_id    =chart_id;
   m_subwin      =subwin;
   m_x           =x;
   m_y           =y;
   m_x_size      =(m_x_size<1 || m_auto_xresize_mode)? (m_anchor_right_window_side)? m_wnd.X2()+m_x-m_auto_xresize_right_offset : m_wnd.X2()-m_x-m_auto_xresize_right_offset : m_x_size;
   m_y_size      =m_edit_y_size;
   m_label_text  =label_text;
   m_area_color  =(m_area_color!=clrNONE)? m_area_color : m_wnd.WindowBgColor();
//--- Отступы от крайней точки
   CElement::XGap((m_anchor_right_window_side)? m_x : m_x-m_wnd.X());
   CElement::YGap((m_anchor_bottom_window_side)? m_y : m_y-m_wnd.Y());
//--- Создание элемента
   if(!CreateArea())
      return(false);
   if(!CreateIcon())
      return(false);
   if(!CreateLabel())
      return(false);
   if(!CreateEdit())
      return(false);

   if(!CreateEdit())
      return(false);

   Print(__FUNCTION__," > CreateEdit()");
   if(!CreateTextSelectPointer())
      return(false);
//--- Скрыть элемент, если окно диалоговое или оно минимизировано
   if(m_wnd.WindowType()==W_DIALOG || m_wnd.IsMinimized())
      Hide();
//---
   return(true);
  }
//+------------------------------------------------------------------+

И как-то странно иметь возможность использовать текстовую метку для поля ввода, но не иметь возможности задать ей шрифт и размер. Может я не туда гляжу? Или подскажи как это сделать не влезая в код, и не добавляя своих методов.

 
Artyom Trishkin:

Толь, лишнее (или что-то пропущено вместо лишнего) в TextEdit.mqh

И как-то странно иметь возможность использовать текстовую метку для поля ввода, но не иметь возможности задать ей шрифт и размер. Может я не туда гляжу? Или подскажи как это сделать не влезая в код, и не добавляя своих методов.

1. Лишнее конечно. Нужно удалить.

2. В следующем обновлении будет возможность для каждого элемента задать свой шрифт и его размер.

Уже работаю над следующей статьёй. Возможно, на следующей неделе опубликуют. 

 
Anatoli Kazharski:

1. Лишнее конечно. Нужно удалить.

2. В следующем обновлении будет возможность для каждого элемента задать свой шрифт и его размер.

Уже работаю над следующей статьёй. Возможно, на следующей неделе опубликуют. 

1. Удалил давно - только руки дошли спросить - а вдруг там вместо удалённого ещё чего должно было быть...

2. Супер, правда придётся опять свои методы удалять ..., ну да ладно ... ;)

3. Ждём с нетерпением.

 
Anatoli Kazharski:

1. Лишнее конечно. Нужно удалить.

2. В следующем обновлении будет возможность для каждого элемента задать свой шрифт и его размер.

Уже работаю над следующей статьёй. Возможно, на следующей неделе опубликуют. 

Толь, введённый текст в поле текстового ввода при смене таймфрейма опять заменяется на "Введите здесь свой текст". Как от этого избавиться?

Такая конструкция не работает (заменил твой текст по умолчанию в конструкторе класса на ""):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
 
Artyom Trishkin:

Толь, введённый текст в поле текстового ввода при смене таймфрейма опять заменяется на "Введите здесь свой текст". Как от этого избавиться?

Такая конструкция не работает (заменил твой текст по умолчанию в конструкторе класса на ""):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
Да, по умолчанию лучше пока пустую строку оставить. 
 
Yuriy Zaytsev:

Толчок к переходу на MQL5

Да, лучше прислушаться. )

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Невозможно скачать MT4

Renat Fatkhullin, 2016.11.30 17:32

Господа, а вы думали, что мы, будучи самым крупным распространителем МТ4 платформы (инсталлов больше чем у какого-либо брокера), продолжим ее рекламировать?

Вы думали, что мы продолжим накачивать МТ4 инсталлами весь мир бесплатно и на радость тем, кто тут вовсю бравирует "зачем мне с МТ4 уходить"?

Рекомендую думать о будущем и быстрее переводить разработки на Метатрейдер 5.

Сейчас изменения экосистемы пошли сильно быстрее.


 
Здравствуйте! А такой вот вопрос. В языках Си есть такие элементы, как TMemo с автоматическим переносом текста на новую строку и обычный TEdit, в котором можно вводить более 63 символов. Можно ли при помощи ваших наработок создать аналоги TMemo и TEdit? Я так понял, что 63 символа - это ограничение самого метатрейдера и его не обойти. Может можно использовать WINAPI для этого? (извините, не особо разбираюсь в построении объектов их стандартных средств виндоуса)
 
Roman Podpora:
Здравствуйте! А такой вот вопрос. В языках Си есть такие элементы, как TMemo с автоматическим переносом текста на новую строку и обычный TEdit, в котором можно вводить более 63 символов. Можно ли при помощи ваших наработок создать аналоги TMemo и TEdit? Я так понял, что 63 символа - это ограничение самого метатрейдера и его не обойти. Может можно использовать WINAPI для этого? (извините, не особо разбираюсь в построении объектов их стандартных средств виндоуса)
Есть в планах создать отдельный элемент типа CTextBox, в котором нет ограничений и можно включать режим мультилайна, а также вертикальную и горизонтальную полосы прокрутки.