MQL разработчикам! Вы писали панельки на чистой канве?

 

Академический и не только интерес.

Если вы такое творили, не стесняйтесь, делитесь своими творениями.

Имею в виду не коды и не продукты, а даже скриншоты и просто впечатления от такого кодинга ) . Интересны подходы, красивые решения и ваш полет фантазии.

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

 
Комбинатор:

Академический и не только интерес.

Если вы такое творили, не стесняйтесь, делитесь своими творениями.

Имею в виду не коды и не продукты, а даже скриншоты и просто впечатления от такого кодинга ) . Интересны подходы, красивые решения и ваш полет фантазии.

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

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

 

https://www.mql5.com/ru/market/product/2276

Продукт бесплатный, так что не реклама :) 

 
Andrey Miguzov:

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

 

https://www.mql5.com/ru/market/product/2276

Продукт бесплатный, так что не реклама :) 

причем тут - платный или бесплатный, реклама это нечто, что делает что-то известным, например продукт о котором вы говорите, тем самым этот продукт получает приемущества перед другими продуктами маркета
 

Не панелька конечно, но вот:


 
В принципе написать можно всё, делал даже 3D (были проблемы со скоростью но давно не проверял, возможно, что теперь норм)
Мне одного не хватает, аналога BitBlt (ArrayCopy2D).
 
Zorro:
В принципе написать можно всё, делал даже 3D (были проблемы со скоростью но давно не проверял, возможно, что теперь норм)
Мне одного не хватает, аналога BitBlt (ArrayCopy2D).
Это копирование массива полностью в другой массив?
 
Karputov Vladimir:
Это копирование массива полностью в другой массив?



Зелёный - массив назначения (в моём случае канва), синий - массив который нужно скопировать в канву.
Конечно это реализуется программно, просто "по привычке" искал среди встроенных функций...

 
Zorro:



Зелёный - массив назначения (в моём случае канва), синий - массив который нужно скопировать в канву.
Конечно это реализуется программно, просто "по привычке" искал среди встроенных функций...

Да. "Впечатывание" одного массива в другой нужно реализовать самостоятельно.
 
Есть у меня своя ГУЙ библиотека, если допишу, то обязательно выложу в свободный доступ:

 
В ГУЕ сейчас я на распутье, как лучше сделать?

1) MFC аналог, пользователь перегружает все нужные методы и изменяет поведение стандартного класса.
2) WPF аналог, описываем интерфейс(например с помощью XML) и передаём в библиотеку набор классов ZoAction
class ZoAction
  {
   string              m_name;
   int                 m_type;   // action type

public:
   string              Name();
   bool                IsActionOf(int action_type) { return(action_type==m_type); }
  };

class ZoActionOnClick : public ZoAction
  {
public:
                       ZoActionOnClick(string name) { m_type=ZoActionType_Click; m_name=name; }
   virtual void        OnClick(ZoUIBase *sender,int x,int y);
  };

strng ExtFormXML=
"<form x='10' y='10' width='640' height='480' color='0xFFCCCCCC'>"
"   <button id='1001' x='100' y='20' width='100' height='30' caption='Click me' OnClick='Button1001Click' />"
"</form>";

class CButton1001Click : public ZoActionOnClick
  {
public:
                       CButton1001Click():ZoActionOnClick("Button1001Click") { }
   virtual void        OnClick(ZoUIBase *sender,int x,int y) { ExpertRemove(); } 
  };

ZoAction *actions[1];
actions[0]=new CButton1001Click;


ZoUI::CreateForm(ExtFormXML,actions);
 
Andrey Miguzov:

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

Ага, очень симпатишно сделано