Скачать MetaTrader 5

Библиотеки: Класс СBmpButtonTransparent

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Automated-Trading
Админ
100933
Automated-Trading 2015.03.18 13:07 

Класс СBmpButtonTransparent:

Класс и примеры его использования разработаны для конкурса, организованного TheXpert.

Класс кнопки позволяет обрабатывать наведение мышки и нажатие на кнопку любой произвольно заданной формы.

Автор: Andrey Miguzov

Konstantin Karpov
604
Konstantin Karpov 2015.06.25 11:44  
Смотрю на код класса CBmpButton из стандартной библиотеки MQL5 и вижу сходство. Это случайно или какой то из этих классов послужил прототипом?
Andrey Miguzov
2123
Andrey Miguzov 2015.06.25 17:09  
Konstantin Karpov:
Смотрю на код класса CBmpButton из стандартной библиотеки MQL5 и вижу сходство. Это случайно или какой то из этих классов послужил прототипом?
Да конечно - CBmpButton был взят за основу. И на 90 процентов переработан :) C помощью наследования пришлось чуть-чуть откорректировать и родительский класс CWndObj. Это сделано для совместимости со стандартной библиотекой.
Konstantin Karpov
604
Konstantin Karpov 2015.06.26 05:06  
Andrey Miguzov:
Да конечно - CBmpButton был взят за основу. И на 90 процентов переработан :) C помощью наследования пришлось чуть-чуть откорректировать и родительский класс CWndObj. Это сделано для совместимости со стандартной библиотекой.
Так а почему разработчики этот класс не внесут в свою стандартную библиотеку, ведь клас то нужный. Кстати не плохо бы полное его описание методов получить, а то приходится лезть в код и читать методы домысливая для чего они нужны...
Andrey Miguzov
2123
Andrey Miguzov 2015.06.26 11:09  
Konstantin Karpov:
 Кстати не плохо бы полное его описание методов получить, а то приходится лезть в код и читать методы домысливая для чего они нужны...
Согласен. Добавлю, как время появится.
Konstantin Karpov
604
Konstantin Karpov 2015.06.27 07:59  

Пока вы не сделали описание, подскажите пожалуйста какой метод меняет положение графического объекта на графике. Метод Top(aLocation) из класса CWnd не меняет его. Но при этом меняется место клика как и положено, а сам графический объект остается на месте. Я так понимаю отсутствует привязка метки объекта и самого объекта? Или я что то вообще не понимаю...

В общем  разобрался, в классе CBmpButtonTransparent, открыл объект m_button и через его метод Y_Distance так же как и в Top вношу новую координату Y. Теперь все работает.

Andrey Miguzov
2123
Andrey Miguzov 2015.06.27 10:10  
Konstantin Karpov:

Пока вы не сделали описание, подскажите пожалуйста какой метод меняет положение графического объекта на графике. Метод Top(aLocation) из класса CWnd не меняет его. Но при этом меняется место клика как и положено, а сам графический объект остается на месте. Я так понимаю отсутствует привязка метки объекта и самого объекта? Или я что то вообще не понимаю...

В общем  разобрался, в классе CBmpButtonTransparent, открыл объект m_button и через его метод Y_Distance так же как и в Top вношу новую координату Y. Теперь все работает.

Не - так не надо. Сейчас пример найду - сброшу. Во время конкурса сам эксперименты ставил :)

 

Просто метод перемещения к моему классу не относится - он реализован в стандартной библиотеке. 

Папку со всем содержимым в Experts.

В файле Profit_button см. строки 139-143 и 155-159

//Money.Shift(0,-3);
//Button.Shift(x,0);

Money.Move(Money.Left(),Money.Top()-3);
Button.Move(Button.Left()+x,Button.Top());

 Работает и так и так - в зависимости от целей. 

Перед запуском эксперта окно развернуть на весь экран :) 

Файлы:
Profit.zip 408 kb
Konstantin Karpov
604
Konstantin Karpov 2015.06.27 10:30  
Andrey Miguzov:

Не - так не надо. Сейчас пример найду - сброшу. Во время конкурса сам эксперименты ставил :)

 

Просто метод перемещения к моему классу не относится - он реализован в стандартной библиотеке. 

Папку со всем содержимым в Experts.

В файле Profit_button см. строки 139-143 и 155-159

 Работает и так и так - в зависимости от целей. 

Перед запуском эксперта окно развернуть на весь экран :) 

упс... :) а этот метод то я чего то просмотрел, искал-искал по всей помощи стандартной библиотеки и как говорится видел фигу :) спс...
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий