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 Tue 30 January 2007 13:06

spalm33
Juste Inscrit !
Date d'inscription: 30 Jan 2007
Messages: 3

Apparenter fenetre à 1 picture box

Je souhaiterais ouvrir un workspace dans une picturebox (application VB6.0) !

Code:
Set o_Mi = CreateObject("MapInfo.Runtime")
    o_Mi.RunCommand "Set Application Window " & idW 'identifiant du form
    o_Mi.RunCommand "Set Next Document Parent " & idP & " Style 1" 'idP = identifiant picture box
    o_Mi.RunCommand "Run Application " & Chr(34) & strPath & Chr(34) 'ouverture du workspace Mapinfo !

J'arrive à récupérer les noms des différentes fenêtres (map, layout, browse ...) présentes dans le worspace mais pas à les visualiser. Par défaut, la visualisation du workspace au sein du picturebox ouvre le première fenêtre. Comment peut-on choisir la fenêtre que l'oon souhaite réapparenter au picturebox

Merci pour l'aide

Hors ligne

 

#2 Wed 31 January 2007 11:20

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: Apparenter fenetre à 1 picture box

Bonjour,

Après consultation du site Mapinfo j'ai vu qu'il propose une SDK (en .COM donc compatible VB6), c'est à mon avis la solution si vous voulez gérer MapINfo depuis VB6.
Par contre je n'ai pas vu de liens sur une quelconque doc gratuitement accessible?

A+

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#3 Wed 31 January 2007 12:23

Florent
Participant actif
Lieu: Nantes
Date d'inscription: 5 Sep 2005
Messages: 86
Site web

Re: Apparenter fenetre à 1 picture box

Bonjour,

Votre code fonctionne bien avec une version complète de MapInfo (par extrapolation avec une runtime aussi) ! Etes vous sur de bien renvoyer les handles de la pictureBox ?

Code:

Private oMi As Object
Set oMi = CreateObject("MapInfo.Application")
oMi.Do "Set application window " & Picture1.hWnd
oMi.Do "Set next document parent " & Picture1.hWnd & "style 1"
oMi.RunCommand "Run Application " & Chr(34) & "C:\Documents and Settings\Administrateur\Bureau\Sans_nom.WOR" & Chr(34) 'ouverture du workspace Mapinfo

Florent

Hors ligne

 

#4 Wed 31 January 2007 15:29

spalm33
Juste Inscrit !
Date d'inscription: 30 Jan 2007
Messages: 3

Re: Apparenter fenetre à 1 picture box

Le problème est identique avec une version complète de MapInfo ! La première fenêtre (exemple : 1 map) du workspace s'affiche dans ma picturebox ! Mais je n'ai pas trouvé le moyen de visualier une autre fenêtre (1 autre map, 1 browser, ....) de ce workspace ! J'ai bien essayé de récuperer le windowid de chaque fenêtre mais je ne peux faire apparaître cette fenêtre (via set next document) dans le picturebox.

Merci

Hors ligne

 

#5 Thu 01 February 2007 08:11

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: Apparenter fenetre à 1 picture box

Bonjour,

Il y a une différence entre les deux codes proposés:
oMi.Do "Set application window" & Picture1.hwnd 
qui est celui de Florent

et le premier code par spalm33
oMi.Do "Set application window" & Form1.hwnd 

Spalm fourni le handle de la forme et Florent directement celui du pictureBox, ce n'est pas là qu'il y a un soucis ????

Je connais rien à MapInfo mais par contre le VB6 et les APIWindows me sont familiers, le code de florent me parait beaucoup plus logique.

Question subsidiaire: Le code que vous proposez d'où vient-il ? De l'utilisation d'un OCX ou ce sont les fonctions de la SDK (je serais surpris).

A+

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

Pied de page des forums

Powered by FluxBB