GUI in crowdsourcing. Open beta testing. - pagina 47

 
Реter Konow:

Buona fortuna! Seguirò i vostri progressi.

Non ho intenzione di completare questo corso, solo le basi ..... considerando che stiamo partendo da zero, e il codice sarà eccessivamente commentato, penso che inizieremo. Qui?

Alexei barbashin:

Sasha, credimi, Peter non ne ha bisogno ;( Vedrai molto presto :)

Beh, tu sei al corrente.

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

In primo luogo, penso che sia meglio sviluppare oggetti basati sugli oggetti di base della libreria standard, renderà le cose molto più facili in futuro.

Sì, naturalmente ci baseremo in parte su.... anche se non è tutto liscio come l'olio.

Da tutto questo vedo un approccio corretto: ogni singolo modulo deve essere creato interamente su una tela. Di conseguenza, quando si muove sarà un unico oggetto solido.

E il sistema di collegamento degli oggetti, così come le sottoscrizioni agli eventi, dovrebbe essere meglio utilizzato dagli sviluppatori, cioè usando la tecnologia MFC.

Tecnologia MFC - ecco come)

Non mi interessa molto, ma può essere più facile fare tutto in oggetti (logica) poi la loro riflessione grafica. E non è così importante se si tratta di una o molte convas.

Ho appena iniziato con le coordinate

È un'idea rozza.

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

Non ancora finito ... cioè appena iniziato vrobshche, se avete qualche pensiero di interazione, per favore ...

 
Ragazzi, con tutto il rispetto, ma dovreste creare il vostro ramo. Sarebbe più conveniente lì. Non è quello di cui stiamo discutendo qui.
 
Алексей Барбашин:

"ma forse è più facile fare tutto in oggetti" - questo è più che logico

"Sì, certo che ci appoggeremo su alcuni di essi". - allora andiamo subito al sodo:

CObject è la classe base di tutti gli oggetti nella libreria degli sviluppatori. Fatto per analogia con C++ e C#. L'oggetto base (tipo) in Sharp è Object.

Le coordinate e le dimensioni sono proprietà del controllo, così come il colore del bordo, il colore e lo spessore, i raggi degli arrotondamenti, le icone e il testo.

Dobbiamo prima definire il tipo di controllo che assumeremo come elementare e poi descrivere le proprietà di base.

Naturalmente, alcune delle proprietà che abbiamo definito prima possono essere tralasciate per i discendenti, non è un problema, ma è meglio rendere quella di base la più versatile.

Per evitare di cercare lontano, ecco un esempio di un semplice controllo universale:

Contiene sfondo, bordo, raggio, icona, testo

Se hai bisogno di un'etichetta, non specifichi sfondo, bordo e icona; se hai bisogno di un pannello, il contenuto non è specificato; se hai bisogno di un pulsante immagine, solo l'icona è specificata; se hai bisogno di un pulsante con un'immagine, sono specificati sfondo, bordo e immagine.

Quindi, questa composizione è abbastanza universale per la maggior parte dei controlli.

Avanti!!!!!

e stavo pensando di fare una semplice interazione

dove metteremo posizionamenti come a sinistra dell'oggetto precedente in caso di allineamento di una linea o di una colonna

Quindi scriviamo un controllo universale
 
Реter Konow:
Ragazzi, con tutto il rispetto, ma dovreste creare un thread tutto vostro. Sarebbe più conveniente lì. Non è quello di cui stiamo discutendo qui.

ok.... Ho continuato a sperare che i moderatori mi aiutassero

 
Alexandr Andreev:

ok.... Speravo che i moderatori mi aiutassero.

Certo che lo faranno, se stiamo litigando per il territorio qui)). Aprite il vostro thread e sviluppatelo. Lo leggerò con interesse)).

 
Реter Konow:
Ragazzi, con tutto il rispetto, ma dovreste creare un thread tutto vostro. Sarebbe più conveniente lì. Altrimenti discutiamo di altre cose qui.

C'è davvero una discussione?

Peter, non sei nemmeno pronto ad accettare la verità.

Tutti quelli che hanno incontrato il tuo sviluppo ti hanno detto: Peter, è forte, ma ritocca qui, cambia là.... Nota: NESSUNO ha detto che è brutto. Questa era puramente la tua percezione!

E qual è la risposta? E Peter risponde: ti sbagli, io ho il mio modo, i miei standard e la mia visione delle molecole...

A quel punto la discussione è cessata e la gente si è allontanata.

È comprensibile: come si può continuare a interagire con qualcuno che sta facendo qualcosa solo per se stesso, quindi a modo suo.

Affermi che lo stai facendo per "tutti", ma non provi nemmeno a seguire gli standard di questo "tutti", così "tutti" si allontanano dalla discussione e dai test dopo la tua prima "presa di posizione".

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

C'è davvero una discussione?

Peter, non sei nemmeno disposto ad accettare la verità.

....

Ho bisogno di utenti nel thread. Commercianti che testeranno il mio prodotto e lo useranno. Non ho intenzione di condurre argomentazioni accademiche qui. Si può scoprire chi ha ragione in privato.

Qui testiamo il prodotto che la comunità offre gratuitamente. Fermata completa.

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

C'è davvero una discussione?

Peter, non sei nemmeno pronto ad accettare la verità.

Tutti quelli che hanno incontrato il tuo sviluppo ti hanno detto: Peter, è forte, ma ritocca qui, cambia là.... Nota: NESSUNO ha detto che è brutto. Questa era puramente la tua percezione!

E qual è la risposta? E Peter risponde: ti sbagli, io ho il mio modo, i miei standard e la mia visione delle molecole...

A quel punto la discussione si fermava e la gente andava avanti.

È comprensibile: come si può continuare a interagire con qualcuno che sta facendo qualcosa solo per se stesso, quindi a modo suo.

Affermi che lo fai per "tutti", ma non provi nemmeno a seguire gli standard di questo "tutti", così "tutti" si allontanano dalla discussione e dai test dopo la tua prima "presa di posizione".

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

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

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

+

Motivazione: