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

 

Класс СBmpButtonTransparent:

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

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

Автор: Andrey Miguzov

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

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

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

 
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
[Удален]  
Andrey Miguzov:

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

 

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

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

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

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

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

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

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

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