Forum sul trading, sistemi di trading automatico e test di strategie di trading
GUI in crowdsourcing. Test beta aperto.
Alexey Barbashin, 2020.03.07 21:25
"ma forse è più facile fare tutto in oggetti" - questo è più che logico
"Sì, certo, ci faremo parzialmente affidamento". - allora subito siamo corretti:
class CCoordPBase Наследуемся от CObject, то есть: class CCoordPBase : public CObject Хотя наверное можно и по другому: class Control : public CObject
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 che tipo di controllo è elementare e poi descrivere le proprietà di base.
Naturalmente, alcune delle proprietà definite in precedenza potrebbero non essere utilizzate nei discendenti, non è un problema, ma è meglio rendere quella di base la più universale.
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, si specifica solo l'icona; se hai bisogno di un pulsante con un'immagine, si specificano sfondo, bordo e immagine.
Cioè, questa composizione è abbastanza universale per la maggior parte dei controlli.
Capisco, la domanda sul cambiare lo stile al passaggio con il salvataggio delle coordinate... anche se è già abbastanza chiaro
Esiste un biliotec standard per controllo?
L'essenza diCObject è di digitare tutti gli oggetti.
Per esempio, abbiamo bisogno di una libreria di liste (lista di elementi, casella combinata, lista di controllo, e così via). Per ogni tipo di elementi possiamo creare un diverso tipo di array, questo è quello che ha fatto Anatoly, oppure possiamo usare uno strumento già pronto:CArrayObj
Cioè, molti pezzi di codice non hanno bisogno di essere inventati, sono già lì, basta prenderli e usarli.
Lo capisco, la domanda è come cambiare lo stile al passaggio del mouse mantenendo le coordinate... anche se sembra essere già chiaro
C'è un bilio standard sul controllo?
La libreria standard degli sviluppatori può essere presa come base, non ci vedo niente di imbarazzante, la loro gerarchia.
Naturalmente da lì dovremmo buttare tutto ciò che riguarda la costruzione diretta, ma lasciare il sistema di trasferimento degli eventi - è davvero universale!
Con questa tecnologia, non importa a quale classe appartenga anche il controllo più complesso, gli eventi saranno passati attraverso il sistema tipizzato dell'oggetto elementare.
Il controllo di base sarà disegnato nel CControls sottostante, dopo di che sarà generato l'evento OnPaint(). Questo permetterà all'utente di ridisegnare/ridisegnare i controlli figli e in generale permetterà all'utente di ridisegnare il controllo come vuole.
Avanti!!!!!
e stavo pensando di fare una semplice interazione
dove inseriremo posizionamenti come a sinistra dell'ultimo oggetto in caso di linea o colonna
Quindi scriveremo un controllore universaleÈ esattamente così che si dovrebbe fare: scrivere l'interazione elementare.
Un controller di base all'inizio non deve avere tutte le proprietà necessarie, basta uno sfondo.
Dopo tutto, per rendere il controllo stesso, conterrà la funzione corrispondente. Così, quando si aggiunge qualsiasi proprietà, dovremo modificare solo una funzione.
Secondo la gerarchia degli elementi?
CObject è un tipo di base
classe CControl : public CObject - il controllo base della libreria stessa
classe CContainerControl : public CControl - il controllo del gruppo. Uno dei suoi campi sarà un array di controlli annidati. Potete vedere un esempio nellalibreria standard CWndContainer.
Sasha, visto che hai già iniziato a codificare, fai un progetto open source in MQL, potrai svilupparlo insieme e condividerlo con gli altri. Chissà, forse ce ne sarà qualcuno.
Sono in attesa per ora... guardando le librerie standard.... c'è un sacco di roba inutile
Non so se ce ne sono molti, ma sarebbe meglio scrivere il proprio codice... o ereditareCChartObject
- www.mql5.com
Sasha, visto che hai già iniziato a codificare, fai un progetto open source in MQL. Chissà, forse ce ne sarà qualcuno.
Penso che sia un po' presto per partire da zero, dobbiamo prima costruire qualcosa
Sono in attesa per ora... guardando le librerie standard.... c'è un sacco di roba inutile
(anche se non molto)) ma è meglio che tu scriva il tuo controllo... o si può ereditareCChartObject
No, no!!!
Guarda attentamente!
Questo controller è proprio la strada per il nulla! Non abbiamo bisogno di oggetti grafici discreti! Abbiamo bisogno di disegnare su tela - è l'unico modo per ottenere sviluppo e possibilità più ampie.
E il fatto che si debba fare il proprio controller principale - questo è sicuro.
La libreria standard divide le proprietà e gli stati tra CWndObject e CWnd, mentre noi dobbiamo unire tutto in un solo controllo.
No, no!!!
Guarda attentamente!
Questo controller è la via per il nulla! Non abbiamo bisogno di oggetti grafici discreti! Abbiamo bisogno di disegnare su kanvas - è l'unica cosa che ci darà sviluppo e ampie possibilità.
E il fatto che si debba fare il proprio controller principale - questo è sicuro.
Le proprietà e gli stati nella libreria standard sono divisi tra CWndObject e CWnd, e abbiamo bisogno di unire tutto in un controllo.
Ho passato un quarto d'ora cercando di creare un progetto e si è rivelato creato, ora sto guardando come renderlo pubblico
Penso che sia un po' presto per iniziare con una tabula rasa.
Sono sicuro che non è una buona idea iniziare da zero.
Persone molto intelligenti hanno speso molto tempo e conoscenza per fare la stessa libreria standard o quella di Anatoly.
La gente ha speso tempo e conoscenza e sarebbe sciocco non usarla.
Dovremmo semplicemente prendere il meglio, dal nostro punto di vista, in entrambi e costruirne uno nuovo.
Dobbiamo imparare dagli errori degli altri. Faremo il nostro).
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso