Fare un progetto in crowdsourcing su Canvas - pagina 2

 
Zorro:
Sul tema dell'uso di kanvas come UI.

Direi che è una bellezza).

Sono molto contento della velocità. tutto è abbastanza adeguato in termini di tempo di rendering e di controllo.

 
Grazie!

Custodie per GIF e PNG
File:
ZoGIF.mqh  2 kb
ZoPNG.mqh  2 kb
 

Ok.

Dato che sei già esperto nella pratica della creazione di controlli su kanvas,

perché non descrivi le tue classi base e il modello generale degli eventi?

----

Possiamo partire dalla vostra base e poi aggiungere altri controlli
- bott il il pulsante
- campo di input
- cursore
- elenco a discesa (già nel tuo archivio)
- selezione del tempo (già nel tuo archivio)


 
Le specifiche dovrebbero essere messe tra virgolette :)

In questo momento sono molto occupato con il lavoro principale, appena sarò libero farò lo schema completo, non sarà prima del 25.07.2016.

In termini generali:

Oggetto base CFrame - oggetto astratto su canvas, ha x, y, larghezza, altezza e un insieme di metodi virtuali per la gestione degli eventi (OnMouse..., OnNotify, OnPaint), può contenere altri oggetti CFrame.

CWindow è un discendente di CFrame, che implementa un canvas ed è un oggetto grafico su un grafico, riceve e gestisce eventi esterni (OnChartEvent), distribuendoli agli oggetti (child) che risiedono su di esso.
Tutti gli oggetti GUI sono generati da CFrame, completandolo con i metodi necessari

Il progetto P&F Chart non ha un controllore di eventi globale, è necessario per applicazioni con 2 o più finestre (leggi kanvas).
È quello che dovrebbe distribuire gli eventi alle finestre e monitorare l'acquisizione di un'istanza (tastiera + mouse) da parte dei controlli GUI.

 
Il problema con il campo di input è che non c'è una buona idea di come usare quello che è disponibile.

IMHO in questo momento, si può fare un EDIT completo solo se si disegna la propria tastiera GUI, ma sarebbe difficile supportare le lingue, ed è scomodo digitare con un mouse...
 
Renat Fatkhullin:
A proposito, nel MetaEditor puoi iniziare progetti, invitare altri partecipanti, dar loro diritti e lavorare insieme al progetto.

Intende l'archiviazione MQL5?

Renat, potresti dirmi più dettagliatamente dove leggere di questo meccanismo?

Ho usato Staorage MQL5 dal suo lancio, ma non vi ho trovato l'opzione di accesso di gruppo.

 
Fai clic destro sul progetto, seleziona "Aggiungi diritti di accesso" nel menu, l'ho usato in uno dei miei progetti sorella, è abbastanza comodo - tutto è a portata di mano...
 

OK.

il CFrame è chiaro.

---

Ho notato che hai intrapreso il percorso in cui i blocchi della gui sono rappresentati ciascuno dalla propria bitmap.

un punto importante per coloro che leggono questo e che hanno già iniziato a pensarci:
Il lavoro dovrebbe essere fatto solo su una bitmap, con tutti gli elementi dell'interfaccia resi su di essa. Con l'ordine z in mente.
In questo caso, ci saranno più possibilità di rendering. (ombre, gradienti, ecc.).
E il controllo è semplificato (non arriveremo al livello degli oggetti MT)

 
Zorro:
Il problema con il campo di input è che non c'è una buona idea di come usare quello che è disponibile.

IMHO in questo momento, si può fare un EDIT completo solo se si disegna la propria tastiera GUI, ma sarebbe difficile supportare le lingue, ed è scomodo digitare con un mouse...
hmm, qual è il problema con la modifica?
 
Yuriy Zaytsev:

Intende l'archiviazione MQL5?

Renat, potresti dirmi più dettagliatamente dove leggere di questo meccanismo?

Ho usato Staorage MQL5 dal suo lancio, ma non ho trovato l'opzione di accesso condiviso.

Progetti - MetaEditor
MetaEditor Projects permette ai programmatori di sviluppare in remoto applicazioni in MQL4/MQL5. I progetti sono realizzati appositamente per questo scopo. I progetti sono implementati attraverso il deposito MQL5. Di conseguenza, un utente deve avere un account valido su MQL5.community, così come MQL5 Storage. Lavorare con i progetti ha tutti i vantaggi del MQL5 Storage: archiviazione sicura dei codici sorgente. In caso di guasto del disco rigido, la copia locale dei codici può essere recuperata rapidamente dalla memoria. Accesso all'archivio da qualsiasi computer. Puoi accedere a MetaEditor usando il tuo account MQL5.community e accedere al progetto da qualsiasi PC. L'accesso ad ogni progetto è impostato solo da un autore del progetto (un utente che lo ha creato). Nessuno può accedere a un progetto senza il permesso dell'autore. La cartella Projects in MQL4 o MQL5 è destinata ai progetti condivisi. Nel Navigator è...

MetaTrader 5 Aiuto | 2015.12.02 10:22

E in generale, è necessario testare il lavoro congiunto con i progetti - penso che ci saranno domande.