#1 Mon 18 December 2006 10:20
- guidodo
- Participant occasionnel
- Lieu: Saint-Maur-des-Fossés
- Date d'inscription: 4 Jan 2006
- Messages: 26
Récupérer la valeur du zoom dans un layout
Bonjour à tous,
Je suis en train de préparer un mbx permettant d'automatiser la génération de cartes sous MapInfo (constitution d'un atlas en quelque sorte), et je bloque sur une petite chose.
Dans ma mise en page, les cartes sont automatiquement zoomées via un "zoom entire layer". L'échelle de travail ("1cm = XXX km") qui apparait lorsque l'on double clique sur le cadre carte change donc d'une carte à l'autre.
J'ai besoin de pouvoir rapatrier la valeur "XXX" dans une variable string pour pouvoir placer sur ma mise en page une barre d'échelle. Quelle est la manip' (l'ID de cette variable dans MI) ?
Ceci dit, si vous connaissez une autre méthode pour placer une barre d'échelle dans ma mise en page, qui s'actualise selon la carte (l'outil scalebar n'est pas approprié), je suis également preneur.
Par avance merci !
Hors ligne
#2 Mon 18 December 2006 11:47
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Récupérer la valeur du zoom dans un layout
Bonjour,
Jamais simples les échelles avec MapInfo !!
- mapperinfo(windowid(frontwindow()),1) donnera la taille représentée sur la fenêtre carte (en unités fonction des réglages ou forcées par un Set distance Units). La fenêtre questionnée doit être désignée par un integer...
- le plus simple est ensuite d'avoir une taille fixe (en cm) pour le cadre carte et d'appliquer un coéfficient au résultat précédent, qui traduira cette taille carte en échelle du cadre (si 10 km sont représentés dans 20 cm -> coeff 5000)
Sinon, pour information, dans le cas de MI78, le dialogue qui s'ouvre par double clic sur un cadre a le numéro 3490 et le contrôle qui donne l'échelle a l'ID 14....mais ce sera dur à manipuler dans votre mbx !!
Hors ligne