Libraries: EasyAndFastGUI library for creating graphical interfaces - page 19

 
When I use CTreeView for MQL5 with ShowItemContent(false), it has a stop error: array out of range in 'TreeView.mqh' (1725,22). This is in function "void CTreeView::UpdateContentList(void)". If ShowItemContent(false), the item content is not created during initialisation, but m_content_items[li].Update(true) is used Update(true) is used without checking m_show_item_content flag. Then I modified code of function "void CTreeView::UpdateContentList(void)" as below.
//+------------------------------------------------------------------+
//| Обновляет список содержания |Продукция
//+------------------------------------------------------------------+
void CTreeView::UpdateContentList(void)
  {
//--- Exit if (1) content does not need to be displayed or (2) Label mode is enabled.
   if(!m_show_item_content || m_tab_items_mode)
      return;
//---
   int items_total=::ArraySize(m_cd_list_index);
   for(int i=0; i<items_total; i++)
     {
      //--- Получим общий индекс пункта в списке
      int li=m_cd_list_index[i];
      //--- Обновим
      m_content_items[li].Update(true);
     }
  }


Then I modified code of function "void CTreeView::UpdateContentList(void)" as below: Am I right? And can you please confirm it?
 
When I use CTreeView for MQL5 with ShowItemContent(false), it has a stop error: array out of range in 'TreeView.mqh' (1725,22). This is in function "void CTreeView::UpdateContentList(void)". If  ShowItemContent(false), the item content is not created during initialization, but m_content_items[li].Update(true) is used without checking m_show_item_content flag. Then I modified code of function "void CTreeView::UpdateContentList(void)" as below:
//+------------------------------------------------------------------+
//| Обновляет список содержания                                      |
//+------------------------------------------------------------------+
void CTreeView::UpdateContentList(void)
  {
//--- Exit if (1) content does not need to be displayed or (2) Label mode is enabled
   if(!m_show_item_content || m_tab_items_mode)
      return;
//---
   int items_total=::ArraySize(m_cd_list_index);
   for(int i=0; i<items_total; i++)
     {
      //--- Получим общий индекс пункта в списке
      int li=m_cd_list_index[i];
      //--- Обновим
      m_content_items[li].Update(true);
     }
  }
Am I right? And can you please confirm it? Thank you very much!
 
I downloaded the library from https://www.mql5.com/zh/code/19703 . When I use CTextEdit to display read only text, the scrollV and scollH doesn't appear when it have a lot of words more. Does anyone have this issue, either? Thanks.
用于创建图形界面的 EasyAndFastGUI 开发库
用于创建图形界面的 EasyAndFastGUI 开发库
  • www.mql5.com
EasyAndFastGUI 开发库可以为自定义 MQL 程序创建图形界面。
 

After October 4  update  the library is returning  the warnings many places :

" deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    Element.mqh    379    26 "

" deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    Scrolls.mqh    625    15 "

" deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    TextBox.mqh    1845    14 "

" deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    WndEvents.mqh    298    36 "


still everything is working perfectly but those  warnings are very scary :)   ... is anybody  able to help how to solve this problem, or is able to  explain what this warning means    ..what is hidden method ?? :)

regards

 
Q: Is there any way to copy the selected text from the STechtEdit field ?
 
Marcin Rutkowski:

After October 4  update  the library is returning  the warnings many places :

" deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    Element.mqh    379    26 "

" deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    Scrolls.mqh    625    15 "

" deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    TextBox.mqh    1845    14 "

" deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    WndEvents.mqh    298    36 "


still everything is working perfectly but those  warnings are very scary :)   ... is anybody  able to help how to solve this problem, or is able to  explain what this warning means    ..what is hidden method ?? :)

regards



CElement::Update(true)

CElementBase::IsLocked()

CElementBase::IsVisible()

CElementBase::IsAvailable()

 
Mikhail Sergeev:



CElement::Update(true)

CElementBase::IsLocked()

CElementBase::IsVisible()

CElementBase::IsAvailable()

Hi  ..thank You for reply     ...I wouldn't call my self as a beginner but I'm far from pro :)

regarding You reply     ....example from  file Element.mqh   ...

from error log :

deprecated behaviour, hidden method calling will be disabled in a future MQL compiler version    Element.mqh    379    26


and after double click,  im directed to the code below, and the cursor location is  commented as [cursor]


void CElement::IsLocked(const bool state)
  {
//--- Выйти, если уже установлено
   if(state==CElementBase::IsLocked())
      return;
//--- Сохранить состояние
   CElementBase::IsLocked(state);
//--- Остальные элементы
   int elements_total=ElementsTotal();
   for(int i=0; i<elements_total; i++)
      m_elements[i].IsLocked(state);
//--- Проверка указателя
   if(::CheckPointer(m_main)==POINTER_INVALID)
      return;
//--- Событие отправляет только главный элемент составной группы
   if(this.Id()!=m_main.Id())
     {
      ::EventChartCustom(m_chart_id,ON_SET_LOCKED,CElementBase::Id(),(int)state,"");
      //--- Отправим сообщение об изменении в графическом интерфейсе
      ::EventChartCustom(m_chart_id,ON_CHANGE_GUI,CElementBase::Id(),0.0,"");
     }
   else
     {
      if(state != m_main.IsLocked())                                                        //  <<<<< error is pointing to this line, and still im not able to find out what "hidden method is"
//    if(state != m_main.[cursor]IsLocked())                                                // cursor location       
        {
         ::EventChartCustom(m_chart_id,ON_SET_LOCKED,CElementBase::Id(),(int)state,"");
         //--- Отправим сообщение об изменении в графическом интерфейсе
         ::EventChartCustom(m_chart_id,ON_CHANGE_GUI,CElementBase::Id(),0.0,"");
        }
     }
  }

If You can explain how to fix this one I will be able to do the rest :)  (or point me to what the "hidden method" is)    ...Thank You again

 
Mikhail Sergeev:



CElement::Update(true)

CElementBase::IsLocked()

CElementBase::IsVisible()

CElementBase::IsAvailable()

Finlay it clicked in my head :)  ..all is good now  ...Thank You again and Regards
 

deprecated behaviour, hidden method calling will be disabled in a future MQL compiler version WndEvents.mqh 1761 53

 
Marcin Rutkowski:
Finlay it clicked in my head :)  ..all is good now  ...Thank You again and Regards
Hello,
I didn't get it. What to do?