Errori, bug, domande - pagina 2395

 
Igor Makanu:

questo è un esempio di utilizzo della classe CAppDialog della libreria standard

se si usa questa classe, il metodo Minimize() viene sempre chiamato quando si cambia grafico

Non ho voluto capirlo, ho semplicemente scritto il mio OnClickButtonMinMax(), era piuttosto incasinato, ma ha funzionato senza problemi.

c'è un altro bug nella classe CAppDialog, dopo Minimize() e Maximize() la proprietà OBJPROP_BACK della classe CCheckBox viene cambiata, e le caselle di controllo diventano con bordo "quadrato", ho fissato ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true) in questo codice rapidamente; ...

Hai ragione.

Ho studiato il codice presentato e ho cambiato la mia risposta.

Il problema è che nell'applicazione MDI, solo una finestra attiva è massimizzata, mentre il resto delle finestre si trovano oltre la dimensione massima e sono di dimensioni "normali".

Quando si cambia scheda, la nuova finestra attiva viene espansa e la finestra precedentemente attiva viene ridotta alla sua dimensione normale.

EA cattura il cambiamento della dimensione del grafico, rileva che la barra non si adatta e minimizza la finestra.

Considereremo ed eventualmente cambieremo questo comportamento in SB.

 
Ilyas:

Hai ragione.

Ho studiato il codice presentato e ho cambiato la mia risposta.

Il problema è che in un'applicazione MDI, solo una finestra attiva è massimizzata, mentre le altre sono come distese fuori da quella massimizzata e hanno una dimensione "normale".

Quando si cambia scheda, la nuova finestra attiva viene espansa e la finestra precedentemente attiva viene ridotta alla sua dimensione normale.

EA cattura il cambiamento della dimensione del grafico, rileva che la barra non si adatta e minimizza la finestra.

Considereremo ed eventualmente cambieremo questo comportamento in SB.

Ho riprodotto il mio codice senza tutta la roba extra, ma purtroppo ho solo il codice per MT4 - ho fatto pratica scrivendo per MT4, ma non scrivo molto per MT5, ma penso che tu abbia le stesse librerie

File:
tstpanel.mq4  12 kb
 
Ilyas:

Cancellato la mia risposta precedente

La finestra sta collassando perché non si adatta al grafico.
Uscite dalla modalità "grafico su tutta la finestra del terminale", vedrete le dimensioni reali dei grafici.

Per evitare il collasso del pannello sul grafico, è necessario aumentare le dimensioni dei grafici.
Dopo di che, puoi espandere il grafico a tutto il terminale e provare a passare da un terminale all'altro

Ho già provato questo all'inizio, quando sono apparsi i nuovi pannelli. ho risparmiato spazio. il pannello è effettivamente circa tre volte più piccolo della finestra del grafico massimizzata.
Ma grazie per la risposta, avevo dimenticato questa possibile opzione.

E perché il pannello non è collassato quando lo si mette nella seconda finestra e vi si passa dalla prima finestra mentre si lavora con i grafici espansi?

 
Igor Makanu:

questo è un esempio di utilizzo della classe CAppDialog della libreria standard

se si usa questa classe, il metodo Minimize() viene sempre chiamato quando si cambia grafico

Non ho voluto capirlo, ho semplicemente scritto il mio OnClickButtonMinMax(), era piuttosto incasinato, ma ha funzionato senza problemi.

c'è un altro bug nella classe CAppDialog, dopo Minimize() e Maximize() la proprietà OBJPROP_BACK della classe CCheckBox viene cambiata, e le caselle di controllo diventano con bordo "quadrato", ho fissato ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true) anche in questo codice, ...

Ho modificato la libreria tenendo conto della tua opzione di limitazione delle dimensioni del pannello, per evitare di minimizzarlo quando si passa da un'altra finestra, tutto ha funzionato.

 
Vjacheslav Lapaev:

Ho modificato la libreria per tenere conto della tua opzione di limitare le dimensioni del pannello, per evitare che collassi quando si passa da un'altra finestra, e ha funzionato. grazie.

Tutto tornerà alla normalità dopo il prossimo aggiornamento. Sarebbe meglio non modificare l'SB, ma ereditare dalla classe che hai modificato.

 
Artyom Trishkin:

Dopo il prossimo aggiornamento tutto tornerà alla "normalità". Faresti meglio a non modificare l'SB, ma ad ereditare dalla classe a cui hai fatto la modifica.

Sì, capisco, grazie.

 
È un bot?
 
fxsaber:
È un bot?
Perché una tale domanda?
 

Se la finestra del tester copre un indicatore, i suggerimenti per quell'indicatore appariranno attraverso di essa:

Ecco fatto.

 
Alexey Kozitsyn:

Se la finestra del tester copre un indicatore, il tooltip per quell'indicatore apparirà attraverso di esso:

Ah, no, il bug è leggermente diverso. La finestra del tester risplende attraverso il tooltip che è stato attivato per ultimo. Se il tooltip "Horizontal Scale" è stato visualizzato per ultimo, allora sarà sempre visualizzato, se il tooltip "Vertical Scale" è stato l'ultimo, allora sarà visualizzato per ultimo quando si passa sopra il valore dell'indicatore nascosto sotto la finestra del tester. In generale, non voglio vedere tooltip di sinistra.