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

 

Alexander:
Когда я закомментировал в файле MainWindow.mqh эксперта TestLibrary07 2 строки 22 и 23 //m_window.AutoXResizeMode(true); и //m_window.AutoYResizeMode(true); то все стало почему то работать нормально.

В качестве быстрого решение проблемы, в файле WndEvents.mqh в методе CWndEvents::CheckExpertSubwindowNumber() замените это условие...:

//+------------------------------------------------------------------+
//| Проверка и обновление номера окна эксперта                       |
//+------------------------------------------------------------------+
void CWndEvents::CheckExpertSubwindowNumber(void)
  {
//--- Выйти, если это не эксперт
   if(PROGRAM_TYPE!=PROGRAM_EXPERT)
      return;
//---

...
  }

... расширенным вариантом:

//+------------------------------------------------------------------+
//| Проверка и обновление номера окна эксперта                       |
//+------------------------------------------------------------------+
void CWndEvents::CheckExpertSubwindowNumber(void)
  {
//--- Выйти, если (1) это не эксперт или (2) графический интерфейс эксперта в главном окне
   if(PROGRAM_TYPE!=PROGRAM_EXPERT || !EXPERT_IN_SUBWINDOW)
      return;
//---

   ...
  }
 
 Да, теперь все заработало. Посмотрев теперь этих экспертов у меня возник вопрос по поводу назначения строки ввода в  TestLibrary07. Я подумал что там можно вводить текст и при нажатии после этого Enter этот текст окажется на следующей на панели где находятся все строки, но по моему это не так. А сама логика вставки этой строки ввода текста подсказывает что именно для этого она и задумана.
 
Alexander:
 Да, теперь все заработало. Посмотрев теперь этих экспертов у меня возник вопрос по поводу назначения строки ввода в  TestLibrary07. Я подумал что там можно вводить текст и при нажатии после этого Enter этот текст окажется на следующей на панели где находятся все строки, но по моему это не так. А сама логика вставки этой строки ввода текста подсказывает что именно для этого она и задумана.
Нет, это просто пример, где показывается, что элемент типа CTextBox может работать в двух режимах. Первое поле там однострочное, а второе многострочное. Там не закладывалась такая логика, как Вы описали. Если бы закладывалась, то это было бы в описании (в статье).
 
Просто восхищаюсь объемом и качеством работы.
Спасибо огромное!
С нетерпением жду продолжения публикаций.
 

Автоматическая справка по текущей версии

Файлы:
index.zip  3996 kb
 
Просто супер!
Это вообще очень своевременно.
И для подобных библиотек просто необходимо.
Выходим на новый уровень стандартизации... )
Спасибо Rashid!
Rashid Umarov
Rashid Umarov
  • www.mql5.com
Профиль трейдера
 
Rashid Umarov:

Автоматическая справка по текущей версии


Спасибо. Нужная вещь.
 
В Вашем случае на время разработки своего MQL-приложения в файле "MetaTrader 5\Config\metaeditor.ini" ставьте параметру Optimize нулевое значение, как показано ниже:
...
[Experts]
Author=Copyright 2015, MetaQuotes Software Corp.
Address=http://www.mql5.com
Optimize=0
...

/‌/---

Тогда всё будет компилироваться быстро: 

0 error(s), 0 warning(s), compile time: 351 msec                1       1

‌//---


Вопрос:  где найти этот параметр Optimize, у меня 1755 и 1816 версии на разных компах , но нет там такого параметра?

 
IuriiPrugov:

...

Вопрос:  где найти этот параметр Optimize, у меня 1755 и 1816 версии на разных компах , но нет там такого параметра?

Быстро в блокноте найти можно вот так:


Причина обращения: