- Мастер MQL4/MQL5
- Настройки - MetaTrader 5 для iPhone
- Работа с C++ DLL (интеграция с MS Visual Studio) - Разработка программ
//+------------------------------------------------------------------+ //| Create the "Button1" button | //+------------------------------------------------------------------+ bool CPanelDialog::CreateButton1(void) { //--- coordinates int x1=ClientAreaWidth()-(INDENT_RIGHT+BUTTON_WIDTH); int y1=INDENT_TOP; int x2=x1+BUTTON_WIDTH; int y2=y1+BUTTON_HEIGHT; //--- create if(!m_button1.Create(m_chart_id,m_name+"Button1",m_subwin,x1,y1,x2,y2)) return(false); if(!m_button1.Text("Button1")) return(false); if(!Add(m_button1)) return(false); m_button1.Alignment(WND_ALIGN_RIGHT,0,0,INDENT_RIGHT,0); //--- succeed return(true); }
// in MQL //+------------------------------------------------------------------+ //| Event handler | //+------------------------------------------------------------------+ void CPanelDialog::OnClickButton1(void) // нет инфы, от какого элемента пришел эвент { m_edit.Text(__FUNCTION__); } //+------------------------------------------------------------------+ //| Event handler | //+------------------------------------------------------------------+ void CPanelDialog::OnClickButton2(void) { m_edit.Text(__FUNCTION__); }
// in C# private void button1_Click(object sender, EventArgs e) // в C# можно узнать, по какому объекту щелкнули и данные события { // что-то делаем }
Алексей, я думаю, у разработчиков достаточно более насущных проблем.
Не думаю, что так уж много народу используют все эти визуальные элементы управления.
Хотя, действительно, было бы интересно иметь визуальный редактор интерфейса...
Алексей, я думаю, у разработчиков достаточно более насущных проблем.
Не думаю, что так уж много народу используют все эти визуальные элементы управления.
Хотя, действительно, было бы интересно иметь визуальный редактор интерфейса...
Не могли бы вы пояснить что за зверь и как должен работать?
Я думаю "Классы для создания панелей индикации и диалогов управления" были созданы разработчиками чисто для отладки, в том отладочном виде и были засунуты в дистрибутив. И с тех пор длиццо вот это:
Алексей, я думаю, у разработчиков достаточно более насущных проблем
Вроде никто не делал, по интерфейсу здесь только статью видел https://www.mql5.com/ru/articles/1867
Вроде никто не делал, по интерфейсу здесь только статью видел https://www.mql5.com/ru/articles/1867
Хорошая работа, но все же имеются минусы, которые сам автор честно указал. Вы работали с формами в Visual Studio или других современных IDE? Если да, то сами все понимаете. Если нет, вкратце, можно все элементы перемещать на форме мышкой, менять размеры, задавать свойства, например цвет, шрифт. А редактор форм генерит код для компилятора.
------ из статьи --------
Плюсы:
- Код может быть многократно использован: вы можете применять CBox или любой класс компоновки в различных приложениях и диалоговых окнах.
- Возможность масштабирования: хотя в небольших приложениях исходный код может быть длиннее, преимущества данного способа хорошо видны в более сложных панелях и диалоговых окнах.
- Сегментация наборов элементов управления позволяет изменить набор элементов управления без значительного влияния на расположение других элементов управления.
- Автоматическое расположение: не нужно вручную кодировать отступы, зазоры, пространства. Они автоматически рассчитываются классом компоновки.
Минусы:
- Необходимо создать дополнительные элементы управления для контейнеров, а также требуется создание дополнительных функций для использования этих контейнеров.
- Меньшая точность: расположение ограничено компоновкой и доступными опциями выравнивания.
- Могут возникнуть проблемы или сложности, если контейнер содержит элементы управления разных размеров: в этом случае необходимо либо свести разницу в размерах до минимума, либо использовать составные контейнеры.
Разница в том, что генератора интерфейса для MQL вроде еще никто не делал. Или я об этом не знаю?
Для нашей команды я такой сделал (на том же шарпе) год назад, не меньше.
Но он для внутреннего пользования. Год назад я не увидел смысла делать публичным: замучают по линии саппорта, а ЦА была ничтожно мала, чтобы иметь с этого реальный профит (ИМХО, конечно). В нашем случае выгоднее казалось просто использовать его для ускорения работы по заказам, что собственно и делаем. Правда переписали заодно и добрую половину контролов (не наследование, а именно переписали из страха что после какого-нибудь апдейта терминала родители подкинут проблем) и дописали некоторых своих.
С интересом понаблюдал бы за становлением публичного и открытого такого продукта (и возможно подключился бы к нему через пару месяцев, сейчас жестоко занят), но что-то мне подсказывает что опенсурсным и Вы не будете его делать ;)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования