Люди!!! нужна помощь.

 

Пишу торговую панельку. При переключении таймфрейма появляется баг элемента CComboBox.

Панель пишется по образцу входящего в комплекте индикатора SimplePanel.mq4.

Кто знает в чем причина, и как это устранить???

 
lucka88:

Пишу торговую панельку. При переключении таймфрейма появляется баг элемента CComboBox.

Панель пишется по образцу входящего в комплекте индикатора SimplePanel.mq4.

Кто знает в чем причина, и как это устранить???

ChartRedraw();
 
Mikalas:
ChartRedraw();
Делал , не помогает.
 
lucka88:
Делал , не помогает.
Возможно, что элемент прокрутки просто рисуется, но не добавляется в контейнер панели.
 
barabashkakvn:
Возможно, что элемент прокрутки просто рисуется, но не добавляется в контейнер панели.
Добавляется. Стоит открыть меню и закрыть , баг пропадает. Снова переключаюсь на другой ТФ и снова баг.
 
lucka88:
Добавляется. Стоит открыть меню и закрыть , баг пропадает. Снова переключаюсь на другой ТФ и снова баг.
  1. Штатный индикатор SimplePanel.mq4 отлично работает. Без ошибок.
  2. "... Стоит открыть меню и закрыть , баг пропадает..." - какое меню?
  3. Нужен Ваш код.
 
barabashkakvn:
  1. Штатный индикатор SimplePanel.mq4 отлично работает. Без ошибок.
  2. "... Стоит открыть меню и закрыть , баг пропадает..." - какое меню?
  3. Нужен Ваш код.

Я имел в виду выпадающий список элемента CComboBox. Я немного упростил, уменьшив количество элементов. В этом случае полоса прокрутки не нужна и она не появляется.

Код подключения самого элемента вот:

#define LotName "Lot"
#define LOT_COUNT    (8)

......................

CComboBox         Lot;
double            L[LOT_COUNT];// массив лотов
int               LotCount;// указатель на номер в массиве лотов
......................

bool Panel::CreateLotEdit(void)
  {
//--- координаты
   int x1=BOX_LEFT+CHECKBOX_WIDTH;
   int y1=BOX_TOP+BUTTON_HEIGHT+7;
   int x2=x1+LOT_EDIT_WIDTH;
   int y2=y1+LOT_EDIT_HEIGHT;

   if(!Lot.Create(m_chart_id,m_name+LotName,m_subwin,x1,y1,x2,y2))   return(false);
   if(!Add(Lot))                                                           return(false);
   Lot.ListViewItems(LOT_COUNT);
   for (int i=0;i<LOT_COUNT;i++) Lot.AddItem(DoubleToStr(L[i],2),i);
   Lot.SelectByValue(LotCount);
   return(true);
  }

Если полностью код то во вложении.

 
Если честно - я ничего не понял. Вы дали обрывки. Дайте готовый проект в отдельной папке: исполняемый файл, включаемый файл. Я не хочу догадываться и изменять код индикатора из поставки.
 
barabashkakvn:
Если честно - я ничего не понял. Вы дали обрывки. Дайте готовый проект в отдельной папке: исполняемый файл, включаемый файл. Я не хочу догадываться и изменять код индикатора из поставки.
Да, пожалуйста. Прикрепляю.
 
lucka88:
Да, пожалуйста. Прикрепляю.

Нужны картинки:

cannot open resource file 'C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\50CA3DFB510CC5A8F28B48D1BF2A5702\MQL4\Images\medicine_chest2on.bmp' (2)     Include3.mqh    16      1
cannot open resource file 'C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\50CA3DFB510CC5A8F28B48D1BF2A5702\MQL4\Images\medicine_chest2off.bmp' (2)    Include3.mqh    17      1
cannot open resource file 'C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\50CA3DFB510CC5A8F28B48D1BF2A5702\MQL4\Images\lockOn.bmp' (2)        Include3.mqh    18      1
cannot open resource file 'C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\50CA3DFB510CC5A8F28B48D1BF2A5702\MQL4\Images\lockOff.bmp' (2)       Include3.mqh    19      1

 Если не трудно, конечно.

 
Нет конечно не трудно. Я же надеюсь понять то ли я туп, то ли баг в коде класса. Строки с lockOn.bmp lockOff.bmp можна удалить они не используются.
Файлы:
Images.zip  3 kb