clabe
Messages postés12Date d'inscriptionmardi 4 avril 2006StatutMembreDernière intervention31 juillet 2006
-
28 juil. 2006 à 18:36
trafounet
Messages postés37Date d'inscriptionsamedi 20 novembre 2004StatutMembreDernière intervention20 décembre 2006
-
28 juil. 2006 à 21:16
Bonjour,
J'ai besoin d'aide... Je pense que mon problème est relativement
simple, mais la solution l'est beaucoup moins car j'ai déjà pas mal
cherché et je n'ai rien trouvé.
Je voudrais afficher un site web en fait dans une sorte de cadre. Un
peu a la maniere qu'on peut faire en .net avec le webrowser sauf que
moi j'utilise dev c++
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 28 juil. 2006 à 20:58
Trafounet >> Regarde la réponse à cette question dans les commentaires du code source. Le fichier exdispid.h de Dev-C++ n'est pas complet. Il suffit donc de le compléter.
clabe >> Tu peux faire comme ceci:
WCHAR url[260];
MultiByteToWideChar (CP_ACP, 0,"www.monsite.com", -1, url, 260);
pIWeb->Navigate(url,0,0,0,0);
trafounet
Messages postés37Date d'inscriptionsamedi 20 novembre 2004StatutMembreDernière intervention20 décembre 2006 28 juil. 2006 à 20:14
par contre dans la 2eme source, il y a quelque chose de bizarre: tu declare
#define DOWNLOADBEGIN WM_USER+1
#define DOWNLOADCOMPLETE WM_USER+2
ect...
et tu utilise DISPID_DOWNLOADBEGIN, DISPID_DOWNLOADCOMPLETE..., qui d'apres le compilo, n'est pas déclaré...
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 28 juil. 2006 à 20:49
clabe >> Je viens de tester sur Dev-C++ et ça marche après quelques petites modifications.
- Il parait que ton projet est en C alors que mon code source est en C++. L'accès aux interfaces COM est différent en C. Tu dois donc créer un nouveau projet en C++ et y coller le code source.
- Dans les options du compilateur tu ajoutes -lole32. Je pense que c'est déjà fait.
- Dev-C++ déclare CLSID_WebBrowser et IID_IWebBrowser2 mais il ne les définit pas. Il faudra alors faire juste après les include:
GUID WebBrowser={0x8856F961,0x340A,0x11D0,{0xA9,0x6B,0x00,0xC0,0x4F,0xD7,0x05,0xA2}};
GUID ID_IWebBrowser2={0xD30C1661,0xCDAF,0x11D0,{0x8A,0x3E,0x00,0xC0,0x4F,0xC9,0xE2,0x6E}};
Puis dans le code:
CoCreateInstance(WebBrowser,0,CLSCTX_ALL,ID_IWebBrowser2,(void**)&pIwb);
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 28 juil. 2006 à 21:15
La solution de trafounet est intéressante. D'ailleurs je la connaissais
pas. Mais je préfère ma solution car elle te permet de savoir
exactement ce qui n'allait pas.
trafounet >> Il n'y a rien de bizarre dans le code:
DOWNLOADBEGIN est un identificteur de message à envoyer à la procédure de la fenêtre.
DISPID_DOWNLOADBEGIN est un identificateur d'événement envoyé à notre application par le composant WebBrowser.