Обсуждение статьи "Графические интерфейсы III: Простые и многофункциональные кнопки (Глава 1)" - страница 3

 
Добрый день, надеюсь сможете мне помочь.

Я хочу, чтоб после нажатия на Двух стейтовую кнопку она сдвигаласть. Вроде как метод прописан, но не работает.

По логам вижу, фукция вызывается, но позиция кнопки не меняется

void CVisButBoard::ChangeButtonPosition(CButtHedge &_button, const int _ShiftX, const int _ShiftY)
  {
      _button.Moving(_ShiftX,_ShiftY);
  
  }


class CSimpleButton : public CElement
  

void CSimpleButton::Moving(const int x,const int y)
  {
//--- Выйти, если элемент скрыт
   if(!CElement::IsVisible())
      return;
      
  Print("Budem Dvigat? X?",x);    
//--- Сохранение координат в полях элемента
   CElement::X(x+XGap());
   CElement::Y(y+YGap());
//--- Сохранение координат в полях объектов
   m_button.X(x+m_button.XGap());
   m_button.Y(y+m_button.YGap());
//--- Обновление координат графических объектов
   m_button.X_Distance(m_button.X());
   m_button.Y_Distance(m_button.Y());
  }
//+---
 

Доброго времени суток!

Большая благодарность автору за статьи, много познавательного и интересного. Правда еще все не прочел, и есть вопрос - можно ли как-то сделать чтоб кнопки были не "прозрачными".  Т.е. чтоб сквозь нее нельзя было прокручивать график с ценной. А то получается если при нажатии на кнопку курсор немного смещается то кнопка не нажимается так как захватывается ценовой график. Заранее спасибо за любую помощь.

 
Ruslan Piraliyev #:

Доброго времени суток!

Большая благодарность автору за статьи, много познавательного и интересного. Правда еще все не прочел, и есть вопрос - можно ли как-то сделать чтоб кнопки были не "прозрачными".  Т.е. чтоб сквозь нее нельзя было прокручивать график с ценной. А то получается если при нажатии на кнопку курсор немного смещается то кнопка не нажимается так как захватывается ценовой график. Заранее спасибо за любую помощь.

Если Вы просто хотите использовать библиотеку для своих проектов, то необязательно читать все статьи.

Лучше сразу взять последнюю версию библиотеки отсюда: https://www.mql5.com/ru/code/19703

И посмотреть примеры с графическими интерфейсами из последних статей:

EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Anatoli Kazharski #:

Если Вы просто хотите использовать библиотеку для своих проектов, то необязательно читать все статьи.

Лучше сразу взять последнюю версию библиотеки отсюда: https://www.mql5.com/ru/code/19703

И посмотреть примеры с графическими интерфейсами из последних статей:

Спасибо за ссылки, по возможности проверю. А что касается моего вопроса, по поводу "прозрачности" граф.объектов через которые прокручивается ценовой график? Можно ли сделать граф.объекты не "прозрачными"? Просто у вас приличный опыт в этом вопросе, может сталкивались с этим.

 
Ruslan Piraliyev #:

Спасибо за ссылки, по возможности проверю. А что касается моего вопроса, по поводу "прозрачности" граф.объектов через которые прокручивается ценовой график? Можно ли сделать граф.объекты не "прозрачными"? Просто у вас приличный опыт в этом вопросе, может сталкивались с этим.

Не понял вопроса. Полагаю, что в последних версиях такой проблемы нет. Попробуйте.

 
Anatoli Kazharski #:

Не понял вопроса. Полагаю, что в последних версиях такой проблемы нет. Попробуйте.

К примеру есть кнопка Buy, если просто на нее нажать и отпустить то она сработает как надо, а если навести на нее и зажать то захватится весь чарт (он на фоне) и уже он будет прокручиваться при движении мышкой в лево-право. Т.е. получается если при нажатии на эту кнопку будет малейшее смещение (а такое бывает) то кнопка не сработает так как захватывается график с ценой. Вот и хочется сделать такую кнопку не "прозрачной" чтоб сквозь нее чарт с графиком не цеплялся. К примеру встроенные кнопки МТ5 "торговля в один клик" работают как надо.

 
Ruslan Piraliyev #:

К примеру есть кнопка Buy, если просто на нее нажать и отпустить то она сработает как надо, а если навести на нее и зажать то захватится весь чарт (он на фоне) и уже он будет прокручиваться при движении мышкой в лево-право. Т.е. получается если при нажатии на эту кнопку будет малейшее смещение (а такое бывает) то кнопка не сработает так как захватывается график с ценой. Вот и хочется сделать такую кнопку не "прозрачной" чтоб сквозь нее чарт с графиком не цеплялся. К примеру встроенные кнопки МТ5 "торговля в один клик" работают как надо.

В последней версии работает так, как Вам нужно:

EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Anatoli Kazharski #:

В последней версии работает так, как Вам нужно:

EasyAndFastGUI - библиотека для создания графических интерфейсов

Спасибо, попробую!

 
Anatoli Kazharski #:

В последней версии работает так, как Вам нужно:

EasyAndFastGUI - библиотека для создания графических интерфейсов

Конечно колоссальный труд Вы проделали и по разработке и по описанию, тут выше всяких похвал. Сразу сложно во все разобраться, но из того что пробовал получается что у Вас кнопка создается на панельке инструментов и панелька с кнопкой действительно не просвечивается то что нужно. Возможно в будущем тоже приду к такой реализации, но у меня сейчас задача создать чисто кнопку без формы-подложки и чтоб она не просвечивалась. Если укажите на свойство или подскажите как это сделать буду очень рад.

 
Ruslan Piraliyev #:

...

Возможно в будущем тоже приду к такой реализации, но у меня сейчас задача создать чисто кнопку без формы-подложки и чтоб она не просвечивалась

...

Именно этого нет.

Причина обращения: