Обсуждение статьи "Как создать графическую панель любой сложности и как это работает" - страница 2

 

Отличная статья.

Спасибо Владимиру Карпутову!

 

Здравствуйте, Владимир,

спасибо за эту статью...

Кто (или какой класс) на самом деле использует определенные константы, например, CONTROLS_BUTTON_COLOR_BG.

Я не смог найти ни одного кода, имеющего доступ к этим константам. Так что есть еще огромный кусок общей картины, который я не до конца понимаю.

 
Ivan Petkow :

Здравствуйте, Владимир,

спасибо за эту статью...

Кто (или какой класс) на самом деле использует определенные константы, например, CONTROLS_BUTTON_COLOR_BG

Я не смог найти ни одного кода, имеющего доступ к этим константам. Таким образом, есть еще огромный кусок общей картины, который я не до конца понимаю.

Я поискал слово "CONTROLS_BUTTON_COLOR_BG" в редакторе MetaEditor:

Я нашел 26 записей!

 
Vladimir Karputov:

Я искал слово "CONTROLS_BUTTON_COLOR_BG" в редакторе MetaEditor:

Я нашел 26 записей!

Поиск в редакторе MetaEditor помог мне уже немного дальше: по крайней мере, я нашел то, что искал изначально. Константа используется в конструкторе CButton.

Но что меня действительно смущает, так это то, что я нашел только 2 записи (а не >20, как у вас):

....MQL5\Include\Controls\Button.mqh (строка 54)

....MQL5\Include\Controls\Defines.mqh (строка 58)


Is there any source code outside of the path C:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\XXXXXXXXXXXXXXXXXXXXXX\MQL5\

где я искал во всех файлах *.mq5;*.mqh?


 
Ivan Petkow :

Поиск в MetaEditor помог мне уже немного дальше: по крайней мере, я нашел то, что искал изначально. Константа используется в конструкторе CButton.

Но теперь меня смущает тот факт, что я нашел только 2 записи (а не >20, как у вас):

....MQL5\Include\Controls\Button.mqh (строка 54)

....MQL5\Include\Controls\Defines.mqh (строка 58)


Есть ли исходный код вне пути C:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\MQL5\

где я искал во всех файлах *.mq5;*.mqh?


Да, результаты поиска (более 20) - это мои проекты. В системных файлах "CONTROLS_BUTTON_COLOR_BG" находится в MQL5\Include\Controls\Button.mqh

 //+------------------------------------------------------------------+ 
 //| Конструктор| 
 //+------------------------------------------------------------------+ 
CButton::CButton( void )
  {
   m_color           =CONTROLS_BUTTON_COLOR;
    m_color_background=CONTROLS_BUTTON_COLOR_BG; 
   m_color_border    =CONTROLS_BUTTON_COLOR_BORDER;
  }

и в MQL5\Include\Controls\Defines.mqh

 //--- Кнопка 
 #define  CONTROLS_BUTTON_COLOR               C'0x3B,0x29,0x28' 
 #define  CONTROLS_BUTTON_COLOR_BG             C'0xDD,0xE2,0xEB' 
 #define  CONTROLS_BUTTON_COLOR_BORDER         C'0xB2,0xC3,0xCF' 
 
Vladimir Karputov:

Да, результаты поиска (более 20) - это мои проекты. В системных файлах "CONTROLS_BUTTON_COLOR_BG" находится в MQL5\Include\Controls\Button.mqh

и в MQL5\Include\Controls\Defines.mqh

Хорошо, это совпадает с тем, что я наблюдал...

Спасибо за подтверждение и ваше драгоценное время.

 

Привет!

В примерах:

1. Размещаем Панель на графике финансового инструмента.

2. Переходим на график произвольного финансового инструмента, открытого в другом окне.

3. Возвращаемся в окно графика с Панелью.

4. Панель находится в левом верхнем углу графика в свёрнутом состоянии.


Как сделать так, чтобы Панель не сворачивалась при возврате в окно графика, в котором она размещена?


Понятно, что необходимо обрабатывать события, но что-то запутался :) ...

За ранее спасибо за пояснения.

 
А панель на mql4 можно создать? 
За ранее большое спасибо. 
 
Irina Dymura:
А панель на mql4 можно создать? 
За ранее большое спасибо. 

Попробуйте коды из статьи - должны работать.

 

Огромное спасибо за эту статью!


Я некоторое время мучился с элементами пользовательского интерфейса... Просматривая сайт MQL, я находил только совершенно ракетостроительные статьи, где OO-объекты должны быть использованы и инстанцированы как другие сложные OO-объекты! Полное безумие!

Основная цель OO-классов - быть доступными, принести вам абсолютно чистый код и уменьшить количество строк/ошибок/итераций...

Я знаю... есть несколько ограничений с этой реализацией/подходом, но для новичков это огромный ШАГ ВПЕРЕД, чтобы иметь что-то реальное, реализованное прямо сейчас!

Поздравляю с этой супер-крутой статьей!


;)