Классы для создания панелей и диалогов - страница 2

 
Dmitry Fedoseev:

Не то. Сам индикатор рисует в подокне, а панель надо создать на графике цены. На параметр subwin нет реакции. Судя по коду в Dialog.mqh и не должен:

bool CAppDialog::CreateIndicator(const int x1,const int y1,const int x2,const int y2)
  {
   int width=m_chart.WidthInPixels();
//--- geometry for the minimized state
   m_min_rect.LeftTop(0,0);
   m_min_rect.Width(width);
   m_min_rect.Height(CONTROLS_DIALOG_MINIMIZE_HEIGHT-2*CONTROLS_BORDER_WIDTH);
//--- determine subwindow
   m_subwin=ChartWindowFind();

Выход из положения уже нашел, очень хитрый (и очень необычный, будет в статье). Но все же ход мысли создателя этих классов очень интересен. 
 

Чтобы SimplePanel индикатор создавался не в подокне, а на главном окне графика, достаточно вместо #property indicator_separate_window написать #property indicator_chart_window

 
Dmitry Fedoseev:

Ладно хорошо, поспрашиваю. Но через пару дней. Отдохнуть надо немного, перегрелся. Да и хотелось бы получить ответ от Роша по требованиям к GUI.

Хотя, если вас не затруднит, покажите шаблон с окном, как на картинке выше, с:

  • двумя полями ввода
  • двумя полями ввода со спинами
  • двумя выпадающими списками
  • кнопкой

Естественно события должны отрабатываться, и еще бы пример кода как менять размер окна.   

Основная суть моей задачи в том, что нужно на лету менять на форме набор элементов управления.

Первые два поля ввода должны быть для ввода текста? К сожалению только в следующей версии будет, а когда будет опубликована пока не могу сказать. Материал уже почти готов, а статью писать ещё не начинал.

 

 
Slawa:

Чтобы SimplePanel индикатор создавался не в подокне, а на главном окне графика, достаточно вместо #property indicator_separate_window написать #property indicator_chart_window

Если при этом в подокне будет какой-нибудь индикатор, то панель будет глючить. Здесь уже писал про это.
 
Anatoli Kazharski:

Первые два поля ввода должны быть для ввода текста? К сожалению только в следующей версии будет, а когда будет опубликована пока не могу сказать. Материал уже почти готов, а статью писать ещё не начинал.

 

Да как так то? Поле ввода это начало начал. СпинБокс есть, поля ввода нет.

Вообще надо водить параметры int и несколько вариантов стандартных перечислений: тип средней, цена (для этого выпадающий список). Но только если библиотека не обеспечивает элементарного, то уж не знаю. Стоит ли. Что бы потом так же кто-т бился головой об стену.

 
Dmitry Fedoseev:

Да как так то? Поле ввода это начало начал. СпинБокс есть, поля ввода нет.

Вообще надо водить параметры int и несколько вариантов стандартных перечислений: тип средней, цена (для этого выпадающий список). Но только если библиотека не обеспечивает элементарного, то уж не знаю. Стоит ли. Что бы потом так же кто-т бился головой об стену.

Так получилось. В своих разработках пока нигде не нужно было, а буквально недавно только запрос поступил от нескольких пользователей на текстовое поле ввода.

Библиотека развивается. Постепенно будет всё необходимое. )

 
Dmitry Fedoseev:

...

Вообще надо водить параметры int и несколько вариантов стандартных перечислений: тип средней, цена (для этого выпадающий список). 

А в текстовое поле, какие параметры нужно вводить?
 
Anatoli Kazharski:
А в текстовое поле, какие параметры нужно вводить?
Числа int
 
Dmitry Fedoseev:
Числа int

Так?

//---

P.S. Поля ввода для чисел сейчас уже есть. Это класс CSpinEdit. Поля ввода для текста, класс CTextEdit, будет в следующем обновлении (build 5).

 
Anatoli Kazharski:

Так?

//---

P.S. Поля ввода для чисел сейчас уже есть. Это класс CSpinEdit. Поля ввода для текста, класс CTextEdit, будет в следующем обновлении (build 5).

Так
 
Dmitry Fedoseev:
Если при этом в подокне будет какой-нибудь индикатор, то панель будет глючить. Здесь уже писал про это.

Ничего не глючит. Какие симптомы?

Я только что попробовал. Сначала индикатор в подокне. Потом панель на график. Потом аналогичная панель в подокне. Единственно, что увидел надпись SimplePanel2 в первом подокне. Но на работу не влияет. Все кнопки нажимаются правильно

Единственно, чем отличается SimplePanel2 от SimplePanel, это пропертью indicator_chart_window

PS речь о пятёрке или о четвёрке?