Newsgroup: it.comp.lang.visual-basic
Titolo: Caricare un programma esterno in una form

Salve a tutti.
Come posso caricare in una form un programma esterno (notepad o
calcolatrice)?
C'era un esempio nella cartella di esempi di vb, ma non lo trovo.
Grazie
Sergio

sergio ha scritto:

Prova a mettere sul  form un controllo Ole container, poi giocaci e vedi che 
succede
-- 
Greg 


Ciao Greg
Parli arabo!!!!!
Mi fai un esempio?

 Mi fai un esempio?
Non č arabo; il controllo Ole si trova nel pannello strumenti, insieme a 
label, text, timer....
Provalo, usalo! Poi se ne riparla
-- 
Greg 

 Greg
Si, ho visto......
Il problema é che vorrei caricare una mappa ed ho pensato a google
earth.
Chiaramente non c'é negli oggetti ole.......
Ho controllato sul sito google e ci sono le api, ma non so come
cominciare....
Cosa metto nel controllo?
Come lo piloto?
ecc....
A prima vista non sembra semplice...


Se intendi far diventare "child" del form la finestra di un programma 
esterno ed inserirla all'interno di un form MDI, prova questo codice:
- crea un nuovo form MDI
- aggiungici un menu "Notepad", con nome mnuNotepad
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
     ByVal lpClassName As String, _
     ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "user32.dll" ( _
     ByVal hWndChild As Long, _
     ByVal hWndNewParent As Long) As Long
Private Declare Function ShowWindow Lib "user32.dll" ( _
     ByVal hwnd As Long, _
     ByVal nCmdShow As Long) As Long
Private Sub mnuNotepad_Click()
Dim hWndChild As Long
    Shell "notepad"
    Do
        hWndChild = FindWindow("Notepad", vbNullString)
    Loop Until (hWndChild <> 0)
    SetParent hWndChild, Me.hwnd
    ' Eventualmente per massimizzarla
    ShowWindow hWndChild, vbMaximizedFocus
End Sub
HTH
Bye
Raf

 esterno ed inserirla all'interno di un form MDI, prova questo codice:
Ho letto solo ora la tua ultima risposta... evidentemente non č cosě come 
pensavo.
Guarda qui comunque:
http://earth.google.com/comapi/index.html
Bye
Raf


Per le mappe puoi usare Google *Maps* che non richiede (come G. Earth) 
l'installazione di un client.
Dovresti cavartela piazzando sul form un controllo WebBrowser e facendolo 
"puntare" alla tua mappa desiderata.
Che non è altro che un file HTML contenente uno script, tipo:
<html>
  <head>
    <script src="
http://maps.google.com/maps?file=api&amp;v=2
" 
type="text/javascript"></script>
    <script type="text/javascript">
  function initialize() {
    if (GBrowserIsCompatible()) {
   var map = new GMap2(document.getElementById("map_canvas"));
   map.setCenter(new GLatLng(0, 0), 1);
    }
  }
    </script>
  </head>
  <body onload="initialize()" onunload="GUnload()">
    <div id="map_canvas" style="width: 500px; height: 300px"></div>
  </body>
</html>
Lo script non fa altro che usare le API di Google Maps.
http://code.google.com/apis/maps/
Bye
Raf 

 Raf
Grazie Raf.....
Da dove comincio?????


Dal controllo WebBrowser... Progetto --> Componenti --> Microsoft Internet 
Controls.
Ne piazzi uno sul tuo form.
Poi crei un semplice file HTML contenente il testo che ho postato prima, 
salvalo con nome "c:\prova\mappa.html", ad esempio.
Nel Form_Load del form dove hai posizionato il WebBrowser scrivi:
Webbrowser1.Navigate "file:///" & "c:\prova\mappa.html"
E via...
Se guardi lo script contenuto nel file HTML, vedrai che c'è l'istruzione
    map.setCenter(new GLatLng(0,0),1)
Non ci vuole molto a capire che serve per centrare la mappa sul punto di 
latitudine 0° e longitudine 0°, mentre l'1 (leggendo la guida delle API di 
google maps), corrisponde al fattore di zoom.
Ad esempio per visualizzare Roma, quella istruzione va modificata così 
(conoscendo approssimativamente le coordinate geografiche di Roma):
    map.setCenter(new GLatLng(41.9, 12.5), 11);
Altro punto del file HTML degno di nota:
    <div id="map_canvas" style="width: 500px; height: 300px"></div>
Questo definisce l'area (un rettangolo 500x300 pixel) nella pagina web, 
all'interno della quale google maps disegnerà la mappa che ti interessa.
Spero che ti sia sufficiente per proseguire...
Bye
Raf 

"Rafunk" <rafun...@NOTHANKSlibero.it> ha scritto nel messaggio
news:fha415$kpm$1...@alix.livenet.it...

Per curiosità ho provato ciò che hai scritto... ma non funge.
Peccato! Era interessante...
Ciao Fede


Non saprei dirti perché... se vuoi ti mando il mio progettino di prova, 
quello funziona, almeno sul mio PC.
Ciao
Raf 

 > "Rafunk" <rafunkS...@NOTHANKSlibero.it> ha scritto nel messaggio

No, funziona ma vorrei inserire e modificare a piacere la stringa di
inizializzazione (lo script) direttamente da programma senza scrivere
nulla su file.
Ho creato una variabile e vi ho inserito lo script.
In questo modo non funziona.
Come fare?

 > "Rafunk" <rafunkS...@NOTHANKSlibero.it> ha scritto nel messaggio

No, funziona ma vorrei inserire e modificare a piacere la stringa di


 Come fare?
Se non dici in che modo hai usato la variabile, come faccio a saperlo?
Bye
Raf

 > "Rafunk" <rafunkS...@NOTHANKSlibero.it> ha scritto nel messaggio

No, funziona ma vorrei inserire e modificare a piacere la stringa di


 > "Rafunk" <rafunkS...@NOTHANKSlibero.it> ha scritto nel messaggio

No, funziona ma vorrei inserire e modificare a piacere la stringa di



Ho messo lo script che hai suggerito in una variabile e poi l'ho
richiamata con il metodo .navigate
Altra informazione.
Vorrei segnare dei punti sulla mappa con delle immagini .pgn
Quale sintassi utilizza? Quella di google earth?
Come devo fare per caricarle?

On 13 Nov, 11:20, "Rafunk" <rafunkS...@NOTHANKSlibero.it> wrote:

Ho messo lo script che hai suggerito in una variabile e poi l'ho


On 13 Nov, 11:20, "Rafunk" <rafunkS...@NOTHANKSlibero.it> wrote:

Ho messo lo script che hai suggerito in una variabile e poi l'ho


On 13 Nov, 11:20, "Rafunk" <rafunkS...@NOTHANKSlibero.it> wrote:

Ho messo lo script che hai suggerito in una variabile e poi l'ho


On 13 Nov, 11:20, "Rafunk" <rafunkS...@NOTHANKSlibero.it> wrote:

Ho messo lo script che hai suggerito in una variabile e poi l'ho


 > "Rafunk" <rafunkS...@NOTHANKSlibero.it> ha scritto nel messaggio

No, funziona ma vorrei inserire e modificare a piacere la stringa di


 Come devo fare per caricarle?
Studiati le API di Google Maps, mi pare che ci siano appositi 
oggetti/metodi.
Bye
Raf 


Grazie Raf....
Ho fatto in effetti in questo modo (creazione di un file temporaneo da
passare al metodo Navigate) e funziona perfettamente.
Ora ho alcuni problemi con i controlli (soprattutto lo zoom e lo
spostamento) ma penso di farcela....
Grazie comunque di tutto
Sergio :-)

 caricare un WebBrowser dinamicamente sia proprio passare da un file.
funziona di certo anche questo modo:
sUrl = "about:<html><body scroll=no marginheight=0 marginwidth=0 topmargin=0 
leftmargin=0>"
sUrl = sUrl & "<img src=
http://www.ciccio.cic/capture.jpg
 border=0>"
sUrl = sUrl & "</body></html>"
WB.Navigate sUrl
ciao, a.


In effetti non ho una grossa esperienza con il WebBrowser, questa mi 
mancava...
Però provato in questo caso non funziona, forse per la presenza della sez. 
<head>.
Bye
Raf 

 <head>.
non funziona, in che senso?
Option Explicit
Private Sub Form_Load()
Dim sUrl As String
'sUrl = "<!DOCTYPE HTML PUBLIC " & Chr(34) & "-//W3C//DTD HTML 4.0 
Transitional//EN" & Chr(34) & "> " & vbNewLine
sUrl = "about:<html>" & vbNewLine
sUrl = sUrl & "  <head>" & vbNewLine
sUrl = sUrl & "    <script src=" & Chr(34) & 
"
http://maps.google.com/maps?file=api&amp;v=2
" & Chr(34) & " type=" & 
Chr(34) & "text/javascript" & Chr(34) & "></script>" & vbNewLine
sUrl = sUrl & "    <script type=" & Chr(34) & "text/javascript" & Chr(34) & 
"> " & vbNewLine
sUrl = sUrl & "  function initialize() {" & vbNewLine
sUrl = sUrl & "    if (GBrowserIsCompatible()) {" & vbNewLine
sUrl = sUrl & "   var map = new GMap2(document.getElementById(" & Chr(34) & 
"map_canvas" & Chr(34) & "));" & vbNewLine
sUrl = sUrl & "   map.setCenter(new GLatLng(0, 0), 1);" & vbNewLine
sUrl = sUrl & "    }" & vbNewLine
sUrl = sUrl & "  }" & vbNewLine
sUrl = sUrl & "    </script>" & vbNewLine
sUrl = sUrl & "  </head>" & vbNewLine
sUrl = sUrl & "  <body onload=" & Chr(34) & "initialize()" & Chr(34) & " 
onunload=" & Chr(34) & "GUnload()" & Chr(34) & "> " & vbNewLine
sUrl = sUrl & "    <div id=" & Chr(34) & "map_canvas" & Chr(34) & " style=" 
& Chr(34) & "width: 500px; height: 300px" & Chr(34) & "></div>" & vbNewLine
sUrl = sUrl & "  </body>" & vbNewLine
sUrl = sUrl & "</html>" & vbNewLine
WebBrowser1.Navigate sUrl
Debug.Print sUrl 'per vedere se le virgolette sono ok
End Sub
arriva il messaggio
---------------------------
Windows Internet Explorer
---------------------------
La chiave API di Google Maps utilizzata in questo sito web è stata 
registrata per un altro sito. Puoi generare un'altra chiave per questo sito 
Web all'indirizzo 
http://www.google.com/apis/maps/
.
---------------------------
OK
---------------------------
che e' un altro discorso. funzionare, funziona.
ciao, a.

 ciao, a.
Purtroppo da me no...
Ciao 

 Ho copincollato il tuo codice.
Ah, ho capito, ma in un certo senso avevo ragione: bisogna aggiustarlo 
togliendo gli spazi iniziali di ciascuna riga della sezione <head>. Così 
funziona, anche se dà l'errore relativo alle chiavi di google maps (ma che 
non c'entra).
Bye
Raf