banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Mon 04 May 2009 11:31

tnicolas
Participant actif
Date d'inscription: 18 Apr 2007
Messages: 64

[ArcGis 9.1] point d'ancrage

EDIT : se sujet concerne la version 9.1 et non la 9.2


Bonjour,

Je suis en train de programmer une mise en page automatique dans laquelle il y aura des zones de texte dont le remplissage se fera en fonction des données présentes dans une table. J'ai réussi à remplir automatiquement ces zones de texte, à leur donner des coordonnées mais je n'arrive pas à changer le point d'ancrage. Par défaut il est en bas à gauche et je voudrais le centrer. Sur le net je n'ai rien trouvé et l'aide donne "object.anchorpoint = value", mais avec ma zone de texte je n'arrive pas à avoir la fonction (si c'est comme ça que ça s'appelle) anchorpoint.

Pour information voici le code que j'utilise :

Code:

Dim mondoc As IMxDocument
Dim pLayout As IPageLayout
Dim pGraphics As IGraphicsContainerSelect
Dim pElementProp As IElementProperties
Dim pTextElement As ITextElement
Dim matable As ITable
Dim maligne As IRow  
Dim UnElement As IElement
Dim pPoint As IPoint
Dim pGContainer As IGraphicsContainer

    Set mondoc = ThisDocument
    Set pLayout = mondoc.PageLayout
    Set pGraphics = pLayout
    pGraphics.SelectAllElements
    'dans un boucle qui permet de renseigner toutes les zones texte à partir de la base
    For i = 0 To pGraphics.ElementSelectionCount - 1
        Set pElementProp = pGraphics.SelectedElement(i)
        If TypeOf pElementProp Is ITextElement Then
            'on choisit la zone une zone de text particulière
            If pElementProp.Name = "txt_surface" Then
                Set pTextElement = pElementProp
                If maligne.Value(matable.Fields.FindField("surface_parcelle")) <> "" Then
        'on la remplit avec la base
                    pTextElement.Text = maligne.Value(matable.Fields.FindField("surface_parcelle")) & " m²"
         'on lui donne des coordonnées
                    Set pGContainer = pLayout
                    Set pPoint = New Point
                    pPoint.x = 24.48
                    pPoint.y = 25.55
                    Set UnElement = pTextElement
                    UnElement.Geometry = pPoint
                    pGContainer.UpdateElement UnElement
                    Else
                    pTextElement.Text = "-"
                End If
            End If
           .
           .
           .
     Next i

Comment faire pour modifier le point d'ancrage d'une zone de texte ?

Dernière modification par tnicolas (Mon 04 May 2009 14:53)

Hors ligne

 

#2 Mon 04 May 2009 11:49

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [ArcGis 9.1] point d'ancrage

Explorons un peu le modèle objet de l'API d'ArcGIS, et commençons d'abord par l'objet TextElement, puisque c'est de lui qu'on parle.

On trouve 17 interfaces disponibles. Mais je n'ai trouvé qu'une seule interface contenant la propriété en lecture / écriture AnchorPoint : IElementProperties3

En utilisant cette interface, ça devrait être assez facile désormais. smile


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#3 Mon 04 May 2009 12:50

tnicolas
Participant actif
Date d'inscription: 18 Apr 2007
Messages: 64

Re: [ArcGis 9.1] point d'ancrage

Euh ... je me sui trompé  c'est pas la version 9.2 que j'ai mais la 9.1 roll désolé ...

Merci pour ta réponse mais j'ai bien trouvé IElementProperties et IElementProperties2 mais pas la IElementProperties3. Etait-elle présente dans la 9.1 ou est-elle apparue plus tard ?

Hors ligne

 

#4 Mon 04 May 2009 14:10

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [ArcGis 9.1] point d'ancrage

D'après la doc, cette interface existe depuis le 9.2 sad

Malheureusement il faut bien avoir des avantages à avoir une version à jour tongue


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#5 Mon 04 May 2009 14:41

tnicolas
Participant actif
Date d'inscription: 18 Apr 2007
Messages: 64

Re: [ArcGis 9.1] point d'ancrage

Bon ben il ne me reste plus qu'à faire des calculs savants en fonction de la longueur de mes textes hmm

Merci pour tout

Dernière modification par tnicolas (Mon 04 May 2009 14:42)

Hors ligne

 

Pied de page des forums

Powered by FluxBB