Qu'est-ce que c'est que cette absurdité sur le caractère de l'onglet ? - page 3

 
Meat:

N'écrivez pas de bêtises ! Le faire à travers des objets, c'est le faire à travers le cul. Vous devez créer quelques centaines d'objets juste pour afficher du texte à l'écran, alors qu'il existe une fonction spéciale appelée Commentaire pour afficher ce texte (j'insiste : du TEXTE, pas des étiquettes, pour lesquelles l'objet Étiquette est conçu). Un tel amas d'objets, en plus d'être peu pratique, gaspille les ressources, surtout lorsque Expert Advisor fonctionne sur plusieurs graphiques. Par conséquent, réfléchissez un peu avant de donner vos conseils ici. De manière générale, j'aimerais entendre une réponse des développeurs. Ma question s'adressait à eux.

Quant aux "composants graphiques", je ne suis pas sûr de ce que vous entendez par ce terme. Les éditeurs de texte sont des programmes, pas des composants graphiques. Par ailleurs, si le programme utilise un composant qui prend en charge la sortie multiligne, la tabulation est également utilisée à cet endroit. Par exemple, l'objet Mémo.


Tout le monde écrit des choses stupides. Mais certaines personnes ne le comprennent pas. Je ne parle pas de Sergeev, je parle de toi.
 

Qu'est-ce que vous considérez exactement comme stupide ici ? J'ai même sous-estimé quelques centaines d'objets, j'ai 10-15 colonnes et 20-30 lignes. Au total, j'ai besoin de 200 à 400 objets sur un graphique. Et il peut y avoir beaucoup de ces graphiques ouverts.

 
Meat:

Qu'est-ce que vous considérez exactement comme de la folie ici ?


La sottise, c'est de ne pas pouvoir ou vouloir entendre les expériences des autres. Pas plus de
 
Vinin:

La sottise, c'est de ne pas pouvoir ou vouloir entendre les expériences des autres. Pas plus que ça.


Tout dépend de la manière dont cette expérience est présentée, et de sa pertinence. Vous avez lu comment, quelques posts plus tôt, cette personne a suggéré avec condescendance de remplacer les tabulations par 4 espaces. Ce qui montre qu'il ne comprend pas du tout ce qu'est la tabulation. Et puis il s'est souvenu des polices monospace, alors que cela n'a rien à voir avec la fonction en question. Alors, où voyez-vous l'expérience ici ?

Sinon, je ne suis heureux que si quelqu'un partage son expérience.

 

"Tu veux conduire ou tu veux conduire ?"

Jetez un coup d'œil ici https://www.mql5.com/ru/forum/122586 . Peut-être trouveras-tu ta propre solution.

 

sergeev: Мы же вроде все здесь не глупые и понимаем что в Comment не моноширный шрифт.

Viande : Ne soyez pas stupide !

OK, j'ai exagéré pour ceux qui ne sont pas stupides. Je retire ce que j'ai dit, ça ne s'applique pas à toi.

Viande : Faire par les objets, c'est faire par le cul...

Qu'est-ce que ça veut dire ? Ne soyez pas timide, nous sommes tous amis ici.

Pour avoir quelques centaines d' objets juste pour afficher du texte à l'écran...

N'exagérez pas. Vous voulez dire que vous pouvez faire tenir 100 lignes de texte de Commentaire sur votre écran ? Oh, j'en doute !

Tout ce que vous devez faire, c'est :

- est d'afficher le texte ligne par ligne au format d'objet d'étiquette.
- utilisez une police monospace dans ces étiquettes
- remplacez les tabulations par des espaces.

Une telle pile d'objets, en plus d'être gênante, consomme des ressources,

Pensez-vous que la fonction Commentaire fonctionne de manière parcimonieuse? Il consomme des ressources non inférieures à la production de l'objet. Parce que ça met à jour le graphique. Et ce n'est pas une petite partie de tout cela. Vous pouvez jouer à votre guise avec le calcul du temps.

PS (d'une manière condescendante).

Merci de ne pas en avoir besoin. Les onglets dans Commentaire (surtout dans MT4) vous attendront longtemps.
Donc si vous en avez vraiment besoin, vous suivrez mon conseil.
Qui a le désir - cherche des opportunités, qui n'en a pas - cherche une raison. amen.

 
sergeev:


Celui qui le veut, cherche des opportunités, celui qui ne le veut pas, cherche une raison.

Celui qui cherche une raison cherche essentiellement quelqu'un à blâmer. Ce n'est pas du tout une solution. Et ce n'est pas du tout efficace.

// Je vais le dire et le redire de temps en temps. Encore et encore. Purement pour améliorer l'atmosphère du forum. On dirait que certaines personnes commencent à s'y retrouver...

 
Quelle absurdité - ce n'est même pas la pleine lune, mais soudainement il y a deux aggravations sur le forum.....
 
Meat:


Tout dépend de la manière dont cette expérience est présentée, et de sa pertinence. Vous avez lu comment quelques posts plus tôt cet homme a proposé avec condescendance de remplacer la tabulation par 4 espaces. Ce qui montre qu'il ne comprend pas du tout ce qu'est la tabulation. Et puis il s'est souvenu des polices monospace, alors que cela n'a rien à voir avec la fonction en question. Alors, où voyez-vous l'expérience ici ?

Sinon, je suis heureux que quelqu'un partage son expérience.


La patience et le travail vous y mèneront ! :)

Il suffit de le faire une fois en tant que fonction et de l'utiliser selon les besoins.

 

Le fait qu'à l'heure actuelle il n'y ait pas d'autres options que le Label, je le comprends très bien moi-même. Je n'ai pas posé la question "comment faire des onglets ?", mais "pourquoi les développeurs ne l'implémentent pas dans Comment?", mais je n'ai pas eu de réponse de leur part. Au lieu de cela, j'ai reçu un tas de suggestions comme "Pourquoi as-tu besoin d'une orange ?". Mangez une pomme.

Mais j'ai une autre idée pour les polices sans espacement, les polices Comment et la plupart des polices Label. Nous devons d'une manière ou d'une autre obtenir la largeur de chaque caractère dans cette police. Vous pouvez alors facilement calculer le nombre d'espaces nécessaires pour ajuster les colonnes au même niveau. Bien sûr, l'ajustement ne sera pas exact, avec une erreur de 1 à 3 pixels, mais ce n'est pas grave. Si quelqu'un a des conseils à donner pour connaître la largeur des caractères, je lui en serais très reconnaissant. Et en général, quelle est la police utilisée dans Commentaire ? Je soupçonne Arial, mais j'aimerais le savoir précisément.

J'ai essayé de trouver une solution en utilisant les fonctions winapi, j'ai trouvé une fonction GetTextExtentPoint32, elle donne la largeur de n'importe quelle chaîne de texte en pixels, et il existe des fonctions similaires pour la largeur de caractères spécifiques, l'essence est la même. Cela semble correct, mais la largeur résultante fait référence à la police System. D'après ce que je comprends, cette police est définie par défaut pour le contexte de périphérique d'affichage (DC) actuel de notre fenêtre, dans lequel le texte est affiché (je l'ai prédéfini avec la fonction GetDC). Mais le texte de Commentaire est clairement affiché dans une police différente, avec une taille de caractères différente. Cela se remarque, par exemple, dans les proportions de la largeur des lettres "i" et "w". En général, la question est de savoir si vous pouvez définir une police différente pour le DC actuel, ou créer votre propre DC avec une police spécifique ? Peut-être que quelqu'un a déjà rencontré ce problème. J'ai tout regardé, mais je n'ai pas trouvé la solution.