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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 13 October 2008 11:18

val31
Juste Inscrit !
Date d'inscription: 13 Oct 2008
Messages: 2

VBA - Questions de base

Bonjour,

Débutant dans la programmation ArcGis (VBA), je souhaiterai faire un test (simple) : afficher un rectangle.

Cette programmation devant s'insérer dans le cadre d'une programmation plus importante.

En vous remerciant

Hors ligne

 

#2 Mon 13 October 2008 14:38

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

Re: VBA - Questions de base

Pour les demandes type 'débuter avec VBA pour ArcGIS', j'ai trouvé ce sujet. À défaut de précision, on continue donc sur celui-ci. Un nouveau sujet, que s'il y a une demande nouvelle big_smile

Merci


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

Hors ligne

 

#3 Tue 14 October 2008 11:18

val31
Juste Inscrit !
Date d'inscription: 13 Oct 2008
Messages: 2

Re: VBA - Questions de base

Je ne trouve pas de cas concret en rapport avec ma question.

Est-ce si difficile que jusqu'à présent personne ici n'aurait réalisé une telle programmation ?

En vous remerciant.

Hors ligne

 

#4 Tue 14 October 2008 11:48

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

Re: VBA - Questions de base

C'est si difficile de lire un peu de documentation au lieu de voir si le sommaire correspond exactement à votre question ?

Afficher un rectangle, ça peut être n'importe quoi. Si vous n'êtesz pas assez précis la réponse la plus simple sera donnée, c'est-à-dire :

___________
|                  |
|                  |
|                  |
|                  |
|                  |
---------------

En plus, si votre affichage de rectangle est dans le cadre d'une programmation plus importante, il vous sera indispensable de maitriser les bases, et donc d'avoir lu quelques chapitres des liens cités de le sujet en question. Si vous avez des questions à ce sujet, n'hésitez pas.

La question n'est absolument pas de savoir si quelqu'un a du code pour faire ça, car GeoRezo.net n'est pas un forum d'assistance gratuit, c'est en partie un forum d'entraide. Ce qui est radicalement différente. On n'est pas là pour faire votre travail. Vous trouverez peut-être une âme généreuse pour votre affichage de rectangle, mais pour toute votre programmation conséquente, si une personne le faisait alors vous devriiez la payer !


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

Hors ligne

 

#5 Tue 14 October 2008 12:04

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: VBA - Questions de base

Il suffisait de taper VBA rectangle arcgis dans google pour trouver ceci :

http://www.forumsig.org/showthread.php?t=20053

Je reprend ici le code :

Code:

    Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument
    
    Dim pGraphicsContainer As IGraphicsContainer
    Set pGraphicsContainer = pMxDoc.PageLayout
    
    Dim pElement As IElement
    Set pElement = New FrameElement
    
    Dim pFrameElement As IFrameElement
    Set pFrameElement = pElement

    ' Paramètres du fond du cadre    
    Dim pFrameDecoration As IFrameDecoration
    Set pFrameDecoration = New SymbolBackground
    
    With pFrameDecoration
        .Color = Couleur(255, 255, 255)
        .CornerRounding = 0
        .HorizontalSpacing = 0
        .VerticalSpacing = 0
        .Name = "Cadre Légende"
    End With
    
    ' paramètres du contour
    Dim pSymbolBorder As IFrameDecoration
    Set pSymbolBorder = New SymbolBorder
    
    With pSymbolBorder
        .Color = Couleur(0, 0, 0)
        .HorizontalSpacing = 0
        .VerticalSpacing = 0
        .CornerRounding = 0
    End With
    
    ' creation du cadre
    pFrameElement.Background = pFrameDecoration
    pFrameElement.Border = pSymbolBorder
    pGraphicsContainer.UpdateElement pElement
       
    

    ' placement sur la page    
    Dim pEnv As IEnvelope
    Set pEnv = New Envelope
    Dim xx As Double, xn As Double, yx As Double, yn As Double
    
    'Pour le placer en bas
    xx = 0
    xn = xx + 10
    yx = 0
    yn = yx + 10
    
    pEnv.PutCoords xn, yn, xx, yx
    pElement.Geometry = pEnv
    
    ' Ajout de l'élément
    pGraphicsContainer.AddElement pElement, 10
    
    
    ' rafraichi la vue
  Dim pActiveView As IActiveView
    Set pActiveView = pMxDoc.PageLayout
    pActiveView.Refresh

Ps : valsig = val31 ???

Hors ligne

 

Pied de page des forums

Powered by FluxBB