GUI de origem popular. Testes beta abertos. - página 47

 
Реter Konow:

Boa sorte! Acompanharei seu progresso.

Não pretendo completar este curso, apenas o básico ....., considerando que estamos começando do zero, e o código será excessivamente comentado, acho que vamos começar. Aqui?

Alexei barbashin:

Sasha, acredite, Peter não precisa disso ;( Você verá muito em breve :)

Bem, você está por dentro.

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

Em primeiro lugar, acho que é melhor desenvolver objetos com base nos objetos básicos da biblioteca padrão, isso tornará as coisas muito mais fáceis no futuro.

Sim, é claro que contaremos parcialmente com.... apesar de nem tudo ser de vela suave.

De tudo isso, vejo uma abordagem correta: cada forma individual deve ser criada como um todo em uma tela. Como resultado, quando você se mover será um único objeto sólido.

E o sistema de anexar objetos, bem como assinaturas de eventos, deve ser melhor utilizado pelos desenvolvedores, ou seja, utilizando a tecnologia MFC.

Tecnologia MFC - é assim que)

Não me interessa, mas talvez seja mais fácil fazer tudo nos objetos (lógica) do que sua reflexão gráfica. E um convas ou muitos não é tão importante.

Comecei agora com as coordenadas

É uma idéia grosseira.

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;
      }
   };  

Ainda não terminou ... ou seja, acabou de começar o vrobshche, se você tem alguma idéia de interação, por favor ...

 
Rapazes, com todo respeito, mas vocês devem criar sua própria filial. Seria mais conveniente lá. Não é o que estamos discutindo aqui.
 
Алексей Барбашин:

"mas talvez seja mais fácil fazer tudo em objetos" - isso é mais do que lógico

"Sim, é claro que nos apoiaremos em alguns deles". - então vamos direto ao assunto:

CObject é a classe base de todos os objetos da biblioteca dos desenvolvedores. Feito por analogia com C++ e C#. O objeto base (tipo) em Sharp é Objeto.

As coordenadas e dimensões são propriedades do controle, assim como a cor da borda, cor e espessura, raios de arredondamento, ícones e texto.

Primeiro temos que definir que tipo de controle assumiremos que é elementar e depois descrever as propriedades básicas.

É claro que algumas das propriedades previamente definidas podem não ser usadas mais tarde nos descendentes, não é um problema, mas é melhor tornar a básica a mais universal.

Para evitar buscas distantes, aqui está um exemplo de um simples controle universal:

Contém fundo, borda, raio, ícone, texto

Se você precisar de uma Etiqueta, você não especifica fundo, borda e ícone; se você precisar de um Painel, o conteúdo não é especificado; se você precisar de um botão de imagem, apenas ícone é especificado; se você precisar de um botão com uma imagem, o fundo, borda e imagem são especificados.

Portanto, esta composição é bastante universal para a maioria dos controles.

Vamos lá!!!!!

e eu estava pensando em fazer uma simples interação

onde colocaremos posicionamentos como à esquerda do objeto anterior em caso de alinhamento de uma linha ou de uma coluna

Assim, escrevemos um controle universal
 
Реter Konow:
Rapazes, com todo o respeito, mas vocês devem criar seu próprio fio condutor. Seria mais conveniente lá. Não é o que estamos discutindo aqui.

ok.... Eu continuava esperando que os moderadores ajudassem

 
Alexandr Andreev:

ok.... Eu esperava que os moderadores ajudassem.

Claro que sim, se estivermos aqui lutando por território)). Abra seu próprio fio e desenvolva-o. Vou lê-lo com interesse)).

 
Реter Konow:
Rapazes, com todo o respeito, mas vocês devem criar seu próprio fio condutor. Seria mais conveniente lá. Caso contrário, discutimos aqui outras coisas.

Existe realmente uma discussão?

Peter, você não está nem mesmo pronto para aceitar a verdade.

Todos que encontraram seu desenvolvimento lhe disseram: Peter, é legal, mas mexa aqui, mude ali.... Nota: NENHUMA delas disse que era ruim. Essa era apenas a sua percepção!

E qual é a resposta? E Peter responde: você está errado, eu tenho meu próprio caminho, meus próprios padrões e minha própria visão das moléculas...

Nesse momento, a discussão pararia e as pessoas seguiriam em frente.

Isso é compreensível: como você pode continuar a interagir com alguém que está fazendo algo somente para si mesmo, assim à sua própria maneira.

Você afirma que está fazendo isso para "todos", mas nem sequer tenta seguir os padrões deste "todos", então "todos" se afasta da discussão e dos testes depois de sua primeira "posição".

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

Existe realmente uma discussão?

Peter, você não está nem mesmo disposto a aceitar a verdade.

....

Preciso de usuários na linha. Comerciantes que testarão meu produto e o utilizarão. Eu não pretendo conduzir argumentos acadêmicos aqui. Você pode descobrir quem está certo em particular.

Aqui testamos o produto que a comunidade oferece gratuitamente. Parada completa.

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

Existe realmente uma discussão?

Peter, você não está nem mesmo pronto para aceitar a verdade.

Todos que encontraram seu desenvolvimento lhe disseram: Peter, é legal, mas mexa aqui, mude ali.... Nota: NENHUMA delas disse que era ruim. Essa era apenas a sua percepção!

E qual é a resposta? E Peter responde: você está errado, eu tenho minha própria maneira, meus próprios padrões e minha própria visão das moléculas...

Nesse momento, a discussão cessou e as pessoas se afastaram.

Isso é compreensível: como você pode continuar a interagir com alguém que está fazendo algo somente para si mesmo, assim à sua própria maneira.

Você afirma que o faz para "todos", mas nem sequer tenta seguir os padrões deste "todos", então "todos" se afasta da discussão e dos testes depois de sua primeira "posição".

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

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

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

+

Razão: