Comme une craie sur un tableau
Bonjour Jipété,
Citation:
Envoyé par
Jipété
...ça d'un strict point de vue mathématique, ça doit pouvoir se simplifier en GradLo := Floor(CarteAff.LonMin);. Non ?
Non. J'ai fait la même erreur. Floor(3*1.4)/3 = Floor(4.1)/3 = 4/3 = 1.333 alors que Floor(1.4) = 1.0. Ceci dit je pense qu'avec une bonne vue d'ensemble, il doit être possible d'éviter ce genre de d'opérations louches.
Salut
Superposition = trop de gestionnaires d'affichage
Bonjour Pierre,
Citation:
Envoyé par
ChPr
...Soit ce n'est pas bloquant mais les graduations se superposent les unes sur les autres...
S'il y a un seul événement OnPaint qui trace les graduations dans le canvas supérieur (ie pas Image.Picture.Bitmap.Canvas), elles ne peuvent mécaniquement pas se superposées puisqu'elles ne sont jamais permanentes (mémorisée).
Si tu veux faire plus simple (parce qu'il ne bougera pas avec le scroll), tu peux mettre un TPaint au dessus de ta fenêtre de scrollbox et dessiner les graduations sur lui (un TPaint est juste un Canvas). Il faudra simplifier un peu le code du OnPaint du TImage (notamment parce que les origines deviennent fixes) mais il peux être repris en grande partie. Quoiqu'il en soit, il ne doit y avoir qu'un seul événement qui gère l'affichage des graduations.
Bon courage