Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 366

 
msl271170:

Спасибо, кажется разобрался.

А как запустить отладчик на исторических данных?


Рад помочь.

Отладка возможна на истории только в MT5.

 
Aleksey Vyazmikin:

Рад помочь.

Отладка возможна на истории только в MT5.


Я так понимаю, в MT5 другой язык программирования. Мой код там работать не будет?

 
msl271170:

Я так понимаю, в MT5 другой язык программирования. Мой код там работать не будет?

Ваш код никто не видел. Потому сложно сказать. Но языки практически одинаковые.
 

Во вложении вот такая панелька построенная по примеру из СБ. Код подчистил, чтобы только то, что к вопросу относится осталось, исходники прилагаю.



Подскажите, как раскрасить заголовок и основную область, на которую мы цепляем элементы?
Вроде как эти объекты - в родительском классе Dialog, 

private:
   //--- dependent controls
   CPanel            m_white_border;        // the "white border" object
   CPanel            m_background;          // the background object
   CEdit             m_caption;             // the window title object
   CBmpButton        m_button_close;        // the "Close" button object
   CWndClient        m_client_area;         // the client area object

и у них есть соответствующие методы


Но как правильно добраться до private-полей?

Файлы:
 
Vasiliy Pushkaryov:

Во вложении вот такая панелька построенная по примеру из СБ. Код подчистил, чтобы только то, что к вопросу относится осталось, исходники прилагаю.



Подскажите, как раскрасить заголовок и основную область, на которую мы цепляем элементы?
Вроде как эти объекты - в родительском классе Dialog, 

и у них есть соответствующие методы


Но как правильно добраться до private-полей?

У вас на картинке список методов доступа к этим полям. Методы публичные?
 
Artyom Trishkin:
У вас на картинке список методов доступа к этим полям. Методы публичные?

Нет. Это я в CDialog в конструкторе набрал, заснял, потом обратно все на место вернул

 
Artyom Trishkin:
У вас на картинке список методов доступа к этим полям. Методы публичные?

Есть публичный метод CDialog::CreateCaption(), CreateClientArea(). Там панельки создаются и им задаются цвета через CONTROLS_DIALOG_COLOR_BG и CONTROLS_DIALOG_COLOR_CLIENT_BG.

Я пробовал переопределить в своем классе через undef и снова define эти переменные. А потом опять запустить методы Create..., но так как объекты уже созданы возвращается ошибка 4200 - объект уже существует.

Добавлено:

Ошибка 4200 - это когда в МТ4 проверял.

 
Vasiliy Pushkaryov:

Есть публичный метод CDialog::CreateCaption(), CreateClientArea(). Там панельки создаются и им задаются цвета через CONTROLS_DIALOG_COLOR_BG и CONTROLS_DIALOG_COLOR_CLIENT_BG.

Я пробовал переопределить в своем классе через undef и снова define эти переменные. А потом опять запустить методы Create..., но так как объекты уже созданы возвращается ошибка 4200 - объект уже существует.

Добавлено:

Ошибка 4200 - это когда в МТ4 проверял.

Я, честно говоря, не пользовался никогда этими ресурсами СБ. Но что вам мешает посмотреть в СБ где там, какими методами, задаются цвета. То, что вы показали в листинге:

private:
   //--- dependent controls
   CPanel            m_white_border;        // the "white border" object
   CPanel            m_background;          // the background object
   CEdit             m_caption;             // the window title object
   CBmpButton        m_button_close;        // the "Close" button object
   CWndClient        m_client_area;         // the client area object

- так это имена объектов - классов CPanel, CEdit, CBmpButton и CWndClient.

А вам нужно найти имена членов этих классов, в которых хранятся цвета, и поглядеть какими методами они могут быть инициализированы или изменены.

И наверняка придётся сначала инициализировать нужные значения, а уже потом строить сам объект.

 

Здравствуйте!

При компиляции выдает "не объявленный идентификатор" (undeclared identifier)

Рыскал, рыскал, так и не понял, что надо сделать для устранения ошибки

Помогите, пожалуйста!

Файлы:
Image_2.jpg  524 kb
 
Kedrov:  При компиляции выдает "не объявленный идентификатор" (undeclared identifier)
Щелкнуть по сообщению об ошибке. Курсор укажет имя переменной. Ее надо объявить
Причина обращения: