Краудсорсовый GUI. Открытое бета-тестирование. - страница 47

 
Реter Konow:

Удачи! Буду следить за Вашими успехами.

я не планирую завершать данное направление а только саму основу..... учитывая что начинаем с нуля, да и код будет излишне закоментирован то думаю начнем. Тут?

Алексей Барбашин:

Саша , поверь, Петру это не требуется ;( Ты убедишься в этом очень скоро. :)

Ну, ты же в теме.

 
Алексей Барбашин:

Во-первых считаю что при разработке объектов опираться лучше сразу на базовые объекты стандартной библиотеки, это в последствии очень облегчит

Да конечно частично будем опираться.... хотя там у их не все гладко.

Из всего этого видится один единственный правильный подход: каждая отдельная форма должна создаваться целиком на одном канвасе. В итоге при перемещении перемешаться будет один единственный цельный объект.

А систему вложений объектов, так же как и подписки на события, лучше использовать от разработчиков, то есть по технологии MFC.

технологии MFC - ета как) 

Ну так то мне безразницы, но может проще сделать все в объектах (логику) потом их графическое отражение. А один конвас или много это уже не так важно.

Начал просто с координат

по сырая задумка

enum EX{};
enum EY{};

class CCoordPBase
   {
   bool flag;
   CCoordPBase *base;
   public:
 //  bool chek(CCoorPDdX &x) {return CheckPointer() }
   EX X_,W_;
   EY Y_,H_;
   CCoordPBase (){Init();}
   void Init() {X_=Y_=W_=H_=0; flag=0;}
   void Init(CCoordPBase &a) {base=GetPointer(a);};
   
   EX GetX() {return flag ? X_  +  ;}
   EY GetY() {return Y_;}
   EX GetW() {return W_;}
   EY GetH() {return H_;}
   operator
   bool MouseOn(CMouse &mouse)//px
      {
      return GetX()<=mouse.X && GetX()+GetW()>=mouse.X && GetY()<=mouse.Y && GetY()+GetH()>=mouse.Y;
      }
   };  

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

 
Ребята, со всем уважением, но вам бы свою ветку создать. Там будет удобнее. А то здесь другое обсуждается.
 
Алексей Барбашин:

"но может проще сделать все в объектах" - это более чем логично

"Да конечно частично будем опираться." - тогда сразу исправляемся:

CObject - это базовый класс всех объектов в библиотеке разработчиков. Сделано по аналогии с С++ и C#. В шарпе базовым объектом (типом) является Object

Координаты и размеры - это уже свойства элемента (контрола), так же как и цвет основы, цвет и толщина рамки, радиусы скруглений, пиктограмма и текст.

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

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

Чтобы далеко не искать вот образец примера простейшего универсального контролла:

Содержит background, border, radius, icon, text

Если нужно получить Label, тогда не указывается фон, бордюр и иконка, если нужен Panel, тогда не указывается содержимое, если нужна кнопка-картинка, тогда указывается только icon, если нужна кнопка с картинкой, тогда указывается фон, рамка и картинка..

То есть такой состав является довольно универсальным для большинства элементов управления.

Давай!!!!! 

а я думал запилить сразу элементарное взаимодействие

куда будем вносить позиционирвания типо слева от прошлого объекта в случае выстраивания в строчку или в столбик

вообщем пишем универсальный контрол
 
Реter Konow:
Ребята, со всем уважением, но вам бы свою ветку создать. Там будет удобнее. А то здесь другое обсуждается.

ок.... я все наделялся что модераторы помогут

 
Alexandr Andreev:

ок.... я все наделялся что модераторы помогут

Конечно помогут, если мы тут окончательно пересоримся в борьбе за территорию.)) Откройте свою тему и разрабатывайте. Я с интересом буду читать.))

 
Реter Konow:
Ребята, со всем уважением, но вам бы свою ветку создать. Там будет удобнее. А то здесь другое обсуждается.

А точно ли обсуждается?

Петр, ты даже правду не готов принять.

Все, кто столкнулся с твоей разработкой говорили тебе: Петр, все круто, но стоит тут подправить, тут изменить.... Обрати внимание: НИКТО НЕ ГОВОРИЛ что все плохо. Это было чисто твое восприятие!

А что в ответ? А в ответ Петр отвечает: вы не правы, у меня свой путь, свои стандарты и свой взгляд на молекулы...

На этом обсуждение прекращалось и люди уходили в сторону.

Оно и понятно: как можно продолжать взаимодействие с тем, кто делает что-то исключительно для себя, поэтому и по своему.

Ты утверждаешь что делаешь для "всех", но следовать стандартам этих самых "всех" ты даже не пытаешься, поэтому "все" и уходят от обсуждения и тестирования после первой же твоей "стойки".

 
Алексей Барбашин:

А точно ли обсуждается?

Петр, ты даже правду не готов принять.

....

Мне в теме нужны пользователи. Трейдеры, которые проверят мой продукт и будут его использовать. Ученые споры здесь я вести не собирался. Можно в личке выяснять кто прав. 

Здесь тестируем продукт предлагаемый сообществу на безвоздмезной основе. Точка.

 
Алексей Барбашин:

А точно ли обсуждается?

Петр, ты даже правду не готов принять.

Все, кто столкнулся с твоей разработкой говорили тебе: Петр, все круто, но стоит тут подправить, тут изменить.... Обрати внимание: НИКТО НЕ ГОВОРИЛ что все плохо. Это было чисто твое восприятие!

А что в ответ? А в ответ Петр отвечает: вы не правы, у меня свой путь, свои стандарты и свой взгляд на молекулы...

На этом обсуждение прекращалось и люди уходили в сторону.

Оно и понятно: как можно продолжать взаимодействие с тем, кто делает что-то исключительно для себя, поэтому и по своему.

Ты утверждаешь что делаешь для "всех", но следовать стандартам этих самых "всех" ты даже не пытаешься, поэтому "все" и уходят от обсуждения и тестирования после первой же твоей "стойки".

https://www.mql5.com/ru/forum/334431

Создание графической библиотеки с нуля
Создание графической библиотеки с нуля
  • 2020.03.07
  • www.mql5.com
Общее обсуждение: Создание графической библиотеки с нуля
 
Причина обращения: