Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нет времени торговать самому? Подпишись на сигнал!
MetaQuotes Software Corp.
Модератор
181350
MetaQuotes Software Corp. 2015.12.10 13:07 

Опубликована статья Графические интерфейсы I: Подготовка структуры библиотеки (Глава 1):

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

Что получит читатель при прочтении этой серии статей?

  • Цель проекта — дать возможность создавать максимально интуитивно понятные интерфейсы для конечного пользователя. А тем, кто будет эти интерфейсы создавать — максимально понятную в изучении и использовании библиотеку кода, которую можно будет развивать дальше.
  • Те разработчики, которые только начинают делать первые шаги в реализации больших проектов с использованием объектно-ориентированных методов либо только начинают изучать объектно-ориентированное программирование (ООП), получат конкретный материал по этой теме для изучения с множеством примеров от начала до реализации.
  • Более опытные получат еще одну реализацию библиотеки для построения графических интерфейсов и смогут сразу приступить к реализации своих идей. Хорошо, когда есть из чего выбирать.
  • Профессионалы, которые сами могут создать и наверняка уже имеют свои подобные библиотеки, получат возможность покритиковать предложенную реализацию и, возможно, предложить более правильный на их взгляд подход в реализации подобных проектов, что будет также интересно менее опытным читателям. Подобные дискуссии иногда не менее интересны, чем сама статья.

Я назвал метод изложения, который будет использоваться в этой серии статей — «попытка имитации идеальной последовательности». Дело в том, что в процессе реальной разработки больших проектов, последовательность действий и ход мыслей намного более беспорядочны и состоят из множества экспериментов, проб и ошибок. Здесь же все эти сложности останутся за кадром. Тем, кто впервые сталкивается с проектами такого масштаба, рекомендуется повторять все действия для лучшего закрепления материала при изучении этой библиотеки, а точнее процесса ее создания. Ведь серия этих статей дает возможность представить весь ход мыслей в идеальной последовательности, когда все ответы на большинство вопросов уже есть и все части проекта создаются по мере возникновения их необходимости.

Рис. 5. Включение в проект классов для хранения указателей и обработки событий.

Рис. 5. Включение в проект классов для хранения указателей и обработки событий

Автор: Anatoli Kazharski

Igor Volodin
3798
Igor Volodin 2015.12.10 17:12  
Анатолий, а вы планируете отрисовывать все элементы управления на Canvas? 
Anatoli Kazharski
56951
Anatoli Kazharski 2015.12.10 17:23  
Igor Volodin:
Анатолий, а вы планируете отрисовывать все элементы управления на Canvas? 

В этой версии библиотеки (в реализованной серии статей) только некоторые из них. Но потом несложно будет сделать классы всех элементов нарисованные, которые можно легко подключить к движку. Для этого уже предусмотрен даже специальный класс. Всё это будет подробно показано в следующих статьях. 

Anatoli Kazharski
56951
Anatoli Kazharski 2015.12.11 09:23  

А начиналось всё когда-то, вот так. )

Как выглядели первые графические интерфейсы: От экранов радаров к персональным компьютерам >>> 

1962: Sketchpad, первая программа с GUI

 

//---

Как выглядели первые графические интерфейсы
Как выглядели первые графические интерфейсы
  • www.lookatme.ru
1962: Sketchpad, первая программа с GUI В середине XX века главной задачей инженеров было во что бы то ни стало сделать компьютеры умнее. Ради этого жертвовали всем, и дружелюбностью к пользователям в том числе. Что, впрочем, не мешало мыслителям того времени рассказывать, как со временем компьютеры будут помогать человеку во всём — на языке...
Andrey Khatimlianskii
56200
Andrey Khatimlianskii 2015.12.14 02:57  

А статьи уже готовы, и просто ждут публикации, или только в процессе? Какие ориентировочные сроки выхода завершающей статьи?

Полезная может получиться вещь, я бы потестировал ) 

Anatoli Kazharski
56951
Anatoli Kazharski 2015.12.14 07:58  
Andrey Khatimlianskii:

А статьи уже готовы, и просто ждут публикации, или только в процессе? Какие ориентировочные сроки выхода завершающей статьи?

Полезная может получиться вещь, я бы потестировал ) 

Сейчас готово 14 статей. Всего будет около 20. 

Процесс публикации быстрым не будет. Ориентировочные сроки сказать сложно. В лучшем случае это одна-две статьи в неделю.

Vasiliy Sokolov
21791
Vasiliy Sokolov 2015.12.14 13:00  
Anatoli Kazharski:

Сейчас готово 14 статей. Всего будет около 20. 

Процесс публикации быстрым не будет. Ориентировочные сроки сказать сложно. В лучшем случае это одна-две статьи в неделю.

Херасе! Под эту тему может отдельный слоган сделать: "Рецепты пользовательских панелей, часть 238":)
Anatoli Kazharski
56951
Anatoli Kazharski 2015.12.14 13:07  
Vasiliy Sokolov:
Херасе! Под эту тему может отдельный слоган сделать: "Рецепты пользовательских панелей, часть 238":)

При обсуждении было решено части всей серии разбить на главы, так как части были слишком большие. ) 

А в качестве "слогана" здесь выступает "Графические интерфейсы". 

Vasiliy Sokolov
21791
Vasiliy Sokolov 2015.12.14 14:03  
Anatoli Kazharski:

При обсуждении было решено части всей серии разбить на главы, так как части были слишком большие. ) 

А в качестве "слогана" здесь выступает "Графические интерфейсы". 

Понятно. Тема полезная безусловно. Я так понимаю Ваши классы базируются на стандартном наборе графических библиотек от MQ?
Anatoli Kazharski
56951
Anatoli Kazharski 2015.12.14 14:33  
Vasiliy Sokolov:
... Я так понимаю Ваши классы базируются на стандартном наборе графических библиотек от MQ?
Да, и будет ещё класс для рисования элементов, о котором речь пойдёт во второй и четвёртой части. Там же будут примеры по использованию.
Vasiliy Sokolov
21791
Vasiliy Sokolov 2015.12.14 14:41  
Anatoli Kazharski:
Да, и будет ещё класс для рисования элементов, о котором речь пойдёт во второй и четвёртой части. Там же будут примеры по использованию.
Отлично. Если можно, побольше картинок с примерами графических интерфейсов. Вообще тема очень нужная: давно нужно было начать документировать стандартную библиотеку.
1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий