Discussione sull’articolo "Manuale MQL5: Controlli della finestra secondaria dell'indicatore - Pulsanti"
Un buon articolo per i principianti. Tuttavia, nelle interfacce più complesse questo approccio non è più accettabile. La prima cosa che salta all'occhio:
for(int i=0; i<BUTTON_COLUMNS; i++) { for(int j=0; j<BUTTON_ROWS; j++) { ... ... ...Una rigida struttura a tabelle è inserita nell'algoritmo e questa costruzione è presente in quasi tutte le funzioni. Immaginiamo ora che la sottofinestra contenga diversi elementi grafici che non sono in alcun modo collegati alla tabella. Per questi elementi dovremo descrivere il loro modello di posizionamento e questo non va bene. Il modello di posizionamento dovrebbe essere unico e universale, cioè in questo caso il layout "tabella" dovrebbe essere un caso speciale di questo modello.
Un buon articolo per i principianti. Tuttavia, nelle interfacce più complesse questo approccio non è più accettabile. La prima cosa che salta all'occhio:
Una rigida struttura a tabelle è inserita nell'algoritmo e questa costruzione è presente in quasi tutte le funzioni. Immaginiamo ora che la sottofinestra contenga diversi elementi grafici che non sono in alcun modo collegati alla tabella. Per questi elementi dovremo descrivere il loro modello di posizionamento e questo non va bene. Il modello di posizionamento dovrebbe essere unico e universale, cioè in questo caso il layout "tabella" dovrebbe essere un caso speciale di questo modello.Sì, hai ragione. Cercherò di proporre qualcosa di più originale la prossima volta. )
In questo caso, per uscire dal caso speciale, è sufficiente utilizzare un array monodimensionale e un ciclo.
Non capisco perché si debba usare OBJ_EDIT.
Sarebbe stato molto più utile "rianimare" i pulsanti standard della libreria (in modo che si illuminassero anche sotto il mouse).
Insomma, sembra un articolo utile, ma non capisco perché sia stato scelto questo modo.
ps: invidio la fecondità dell'autore ;)
...
Sono già abituato a usare OBJ_EDIT, poiché viene visualizzato durante la visualizzazione nel tester.
In questo caso, si può utilizzare qualsiasi oggetto per l'esempio. Si tratta di un processo creativo, dopotutto. )
- www.mql5.com
Non capisco perché si debba usare OBJ_EDIT.
Sarebbe molto più utile "rianimare" i pulsanti standard della libreria (in modo che si illuminino anche sotto il mouse).
Insomma, sembra un articolo utile, ma non capisco perché sia stato scelto questo modo.
ps: invidio la fecondità dell'autore ;)
Sarebbe molto più utile "animare" i pulsanti standard della libreria (in modo che si illuminino anche sotto il mouse).
- www.mql5.com
E i pulsanti non sono affatto pulsanti).
E mi chiedo: c'è qualche sviluppatore professionista che utilizzerebbe la libreria standard di elementi grafici nei suoi prodotti?
- 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
Il nuovo articolo Manuale MQL5: Controlli della finestra secondaria dell'indicatore - Pulsanti è stato pubblicato:
In questo articolo considereremo un esempio di sviluppo di un'interfaccia utente con controlli a pulsante. Per trasmettere l'idea di interattività all'utente, i pulsanti cambiano colore quando il cursore passa sopra di essi. Con il cursore posizionato su un pulsante, il colore del pulsante sarà leggermente più scuro, diventando notevolmente più scuro quando si fa clic su di esso. Inoltre, aggiungeremo suggerimenti a ciascun pulsante, creando così un'interfaccia intuitiva.
Notare l'ultimo parametro della funzione CreateButton(): è responsabile del suggerimento quando il cursore del mouse passa su un oggetto grafico. Ad esempio, nella funzione AddButtonsPanel() questo parametro è rappresentato dai valori passati dall'array button_texts (testo visualizzato sui pulsanti). Se lo desideri, puoi creare un array separato con descrizioni più dettagliate.
Ora, se colleghi l'indicatore al grafico, il risultato sarà il seguente:
Autore: Anatoli Kazharski