Erreurs, bugs, questions - page 3007

 
Artyom Trishkin:
J'ai une question : comment savoir si un graphique est en surbrillance et visible ?

Fait

  • CHART_IS_MAXIMIZED - fenêtre du graphique étendue
  • CHART_IS_MINIMIZED - fenêtre du graphique minimisée

ne convient pas ?

 
Artyom Trishkin:
Une question s'est posée : comment savoir si un graphique est en surbrillance et visible ?

Ça ?

void OnTick(void)
{
  // if(ChartGetInteger(0, CHART_BRING_TO_TOP)) return; // Окно не активно - выход

   if(ChartGetInteger(0, CHART_BRING_TO_TOP)) {
      // Выполняется код, если окно активно
      Print("Active: ",Period());
   }
}
 
Vitaly Muzichenko:

Ça ?

J'ai déjà essayé. Toujours retourné faux. C'est-à-dire, comme je l'ai compris - c'est une fonction que nous donnons une "impulsion" au graphique pour le rendre actif, et puis encore faux renvoie la propriété. Mais je vais revérifier.

 
Alexey Viktorov:

Est

  • CHART_IS_MAXIMIZED - fenêtre du graphique étendue
  • CHART_IS_MINIMIZED - fenêtre du graphique minimisée

ça ne va pas ?

Repliée/déployée. Les deux drapeaux peuvent être faux. Dans le cas où les deux ne sont pas pliés et dépliés, mais en mode fenêtré. Et, oui, ce n'est pas ça. J'ai besoin de savoir, par programmation, quel est le graphique que je regarde et avec lequel je travaille en ce moment.

 
Artyom Trishkin:

Rabattu/dérabattu. Les deux drapeaux peuvent être faux. Dans le cas où les deux ne sont pas pliés et dépliés, mais en mode fenêtré. Et, oui, ce n'est pas ça. J'ai besoin de savoir par programmation quel est le graphique que je regarde et avec lequel je travaille en ce moment.

Et pour le vérifier ?

/********************Script program start function*******************/
void OnStart()
 {
  long currChart = 0;
  int i = 0, limit = 100;
  while(i < limit)
   {
    currChart = ChartNext(currChart);
    if(currChart < 0)
      break;
      Print(i, " ", ChartSymbol(currChart)," ", EnumToString(ChartPeriod(currChart)), " ID = ", currChart, " ", (bool)ChartGetInteger(currChart, CHART_IS_MAXIMIZED));
    i++;
   }
 }/******************************************************************/

Résultat


 
Vitaly Muzichenko:

Ça ?

Affichage d'un graphique au-dessus de tous les autres graphiques

bool w/o

Il s'agit d'une propriété en écriture seulement.

 
Alexey Viktorov:

Afficher le graphique au dessus de tous les autres graphiques

bool w/o

Il s'agit d'une propriété en écriture seulement.

Pas de mots :)

Alexey Viktorov:

Et pour vérifier ?

Résultat


 
Vitaly Muzichenko:

Pas de mots :)

Eh bien, c'est un "ouch". Je faisais tellement confiance à la documentation que je n'ai pas pris la peine de la vérifier.

 
Alexey Viktorov:

Et pour vérifier ?

Résultat


Réaliser des graphiques en mode fenêtre

 
Artyom Trishkin:

Réaliser des graphiques en mode fenêtré

Utilisez aussi CHART_BRING_TO_TOP

if(!ChartGetInteger(0,CHART_BRING_TO_TOP))
              {
}

pour décharger une fenêtre inactive et arrêter de dessiner.


De même, si la fenêtre est inactive, aucun événement ne s'y produit.

J'enregistre l'heure de la dernière :

//=====================================================================
// Записываем время последнего обращения к панели
//=====================================================================
   if(id==CHARTEVENT_CHART_CHANGE
      || id==CHARTEVENT_OBJECT_CLICK
      || id==CHARTEVENT_KEYDOWN
      || id==CHARTEVENT_OBJECT_ENDEDIT
      || id==CHARTEVENT_CLICK)
      LastTimeChartUse=TimeCurrent();