#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 iComment 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
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. ![]()
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
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
Re: [ArcGis 9.1] point d'ancrage
D'après la doc, cette interface existe depuis le 9.2 ![]()
Malheureusement il faut bien avoir des avantages à avoir une version à jour ![]()
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
Merci pour tout
Dernière modification par tnicolas (Mon 04 May 2009 14:42)
Hors ligne


