Скачать MetaTrader 5

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

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

Класс СBmpButtonTransparent:

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

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

Автор: Andrey Miguzov

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

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

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

Andrey Miguzov
2406
Andrey Miguzov  
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  
Andrey Miguzov:

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

 

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

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

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

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

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

упс... :) а этот метод то я чего то просмотрел, искал-искал по всей помощи стандартной библиотеки и как говорится видел фигу :) спс...
Alexey Kozitsyn
7783
Alexey Kozitsyn  
Andrey Miguzov:

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

Отличный пример!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий