[VC++ WIN32 pas MFC] comment integrer le controle IWebBrowser2

comment integrer le controle IWebBrowser2 [VC++ WIN32 pas MFC] - C++ - Programmation

Marsh Posté le 02-09-2002 à 18:24:13    

... j'ai pas trouvé de doc dans MSDN ca a l'air plutot baleze... apparemment d apres ce que j'ai compris , il faut distinguer l'interface (IWebBrowser2) qui ne sert qu a manipuler cet objet, de l'objet lui meme.
 
Je n'arrive pas a creer l'objet (=la fenetre) , dans la doc MSDN ils disent d utiliser CreateControl mais cest une fonction MFC.
 
Sinon avec CreateWindow je ne vois pas comment passer le CLSID_WebBrowser ...
 
Quelqu un peut il m aider j'ai pas arreté de chercher de la journée..
Merci.

Reply

Marsh Posté le 02-09-2002 à 18:24:13   

Reply

Marsh Posté le 02-09-2002 à 19:08:33    

Mes questions sont si compliquées ?

Reply

Marsh Posté le 02-09-2002 à 20:00:34    

si tu n'utilises pas les mfc, tu passes par l'autre lib dédiée aux contrôles activex : atl.  
 
il y a une classe spécifique qui fait ce que tu veux (hosting de contrôles), CAxWindow. tu prends n'importe quelle fenêtre win32 existante,  
 
//tu créés une nouvelle instance de CAxWindow :
CAxWindow* caxw = new CAxWindow(hwndDeTaFenetre);
 
// tu lui dit de créer ton contrôle activex. ici un web browser, donc tu peux passer une url directement :
caxw->CreateControl(L"http://....", ...);
 
et hop.

Reply

Marsh Posté le 02-09-2002 à 20:06:22    

ok merci , je vais essayer ... integrer ATL ce n'est que faire un include ? ou alors y a des libs en plus au link a integrer... je connais pas du tout ATL .
merci en tout cas de ta reponse
 
juste au passage : si je comprends bien pour integrer un composant activeX a un projet win32 on est forcement obligé de passer par ATL ou MFC ?
 
 

Reply

Marsh Posté le 02-09-2002 à 20:14:06    

>>integrer ATL ce n'est que faire un include ? ou alors y a des libs en plus au link a integrer...  
 
tu regardes le tutorial atl dans la msdn, atl polygon. tu suis les premières étapes pour générer ton squelette. tu auras les includes à rajouter (atlbase.h & co), les trucs à définir (CComModule), etc.
 
il y a une lib, atl.lib.
 
>> je connais pas du tout ATL .
 
moi pas des masses non plus, donc ... :lol:
 
>> juste au passage : si je comprends bien pour integrer un composant activeX a un projet win32 on est forcement obligé de passer par ATL ou MFC ?
 
je n'en sais rien. il y a sûrement moyen de tout refaire soi-même, mais quel intérêt ... COM / ActiveX / OLE c'est la même chose, ie un gros mammouth qui a dix ans d'évolutions diverses derrière lui, donc mieux vaut s'en tenir aux trucs standards.

Reply

Marsh Posté le 02-09-2002 à 20:20:22    

chui tout a fait d accord avec toi , c vrai que les API microsoft sont pratiques car quand y faut faire ca en dur c est pas evident (j'ai eu du mal a me creer un classe d acces OLE DB alors qu il en existe une toute simple dans MFC = DAO)  
mais c estparceque la j'ai pas le choix , c est un projet existant que je viens de reprendre et il y a deja pas mal de code, je ne peux pas reprendre depuis le debut(ce serait stupide) et celui ci a été developpé en WIN32 pur ... donc integrer ATL a un projet win32 pur existant je me demande si c est pas la galere  
 
A ce propos je trouve MSDN pas super bien fait car si c est bien expliqué pour les choses simples(les vieux controles) ce n'est pas mis a jour pour les dernieres nouveautés ex : les menus super jolis de office XP (ca devient bleu quand on passe la souris) je trouve ca joli mais pour les integrer rien est expliqué dans MSDN (meme derniere version chui abonné)... si jamais tu connais un site serieux qui parle des API windows  je veux bien une adresse.
 
En tout cas merci de m'avoir repondu car tu es le seul.
 

Reply

Marsh Posté le 02-09-2002 à 20:33:40    

>> j'ai eu du mal a me creer un classe d acces OLE DB  
 
vi, je me souviens du topic :D
 
>> alors qu il en existe une toute simple dans MFC = DAO
 
les apis windows à la base c'est un peu le foutoir, vu que ça a évolué tout en restant compatible (tu peux faire tourner des apps windows2 voire windows1 sur 98 en modifiant qq trucs). donc forcément les libs qui wrappent tout ça simplifient la chose.
 
>> je ne peux pas reprendre depuis le debut(ce serait stupide) et celui ci a été developpé en WIN32 pur ... donc integrer ATL a un projet win32 pur existant je me demande si c est pas la galere  
 
tu n'as pas le choix. quand je dis 'refaire soi-même', ça veut dire implémenter la même chose que la librairie, sauf que tu te prendras bien la tête car les rouages ATL ne sont pas beaucoup documentés (sur le web en tout cas). bref, tu utiliseras la même chose qu'atl ou les mfc au final, donc mêmes risques de 'galère'.
 
>> A ce propos je trouve MSDN pas super bien fait car si c est bien expliqué pour les choses simples(les vieux controles) ce n'est pas mis a jour pour les dernieres nouveautés ex : les menus super jolis de office XP (ca devient bleu quand on passe la souris) je trouve ca joli mais pour les integrer rien est expliqué dans MSDN  
 
ce n'est pas en standard dans l'os pour toute nouvelle app ? (je n'ai pas xp).
 
si c'est spécifique à office, ils font tout leur painting à la main en utilisant des contrôles windowless (pas de hwnd derrière). cf ce screenshot d'office 97 sous nt 3.51 http://toastytech.com/guis/nt3515.html (c'est sur ce site que tu peux downloader des apps windows 1 & 2).
 
bien évidemment, les contrôles office ne sont pas redistribuables ...
 
>> (meme derniere version chui abonné)... si jamais tu connais un site serieux qui parle des API windows  je veux bien une adresse.
 
non, pas spécialement. bien évidemment [:google2], groups.google, et surtout pour rechercher sous la msdn, google avec site:msdn.microsoft.com (marche beaucoup mieux que leur moteur).
 
>> En tout cas merci de m'avoir repondu car tu es le seul.
 
nan mais t'as vu l'heure aussi ? :lol:

Reply

Marsh Posté le 02-09-2002 à 22:34:59    

[url]http://support.microsoft.com/default.aspx?scid=kb;[LN];Q192560[/url]


Message édité par youdontcare le 02-09-2002 à 22:35:10
Reply

Marsh Posté le 02-09-2002 à 22:52:11    

ok merci c est super sympa.

Reply

Marsh Posté le 03-09-2002 à 12:49:06    

Super , avec le lien que tu m'as filé ca marche nickel ... y a juste un truc qui m etonne, j'appelle la fonction AtlAxWinInit() sans probleme , et normalement je devrais aussi appeler AtlAxWinTerm a la fin ... seulement si dans le lien ils me disent d appeler cette fonction , elle n'existe ni dans l'aide MSDN , ni dans les sources d ATL (j'ai bien la premiere mais pas la derniere) ... donc du coup mon appli ne "ferme" pas  ATL. Est qu il s agit d une autre fonction ou alors je laisse comme ca ?
 
merci.

Reply

Marsh Posté le 03-09-2002 à 12:49:06   

Reply

Marsh Posté le 03-09-2002 à 13:07:00    

http://msdn.microsoft.com/library/ [...] interm.asp
 
AtlAxWinTerm
 
Uninitializes the AxWin hosting code by unregistering the window class used by CAxWindow. This function simply calls UnregisterClass as described in the Platform SDK.
 
http://msdn.microsoft.com/library/ [...] rclass.asp
 
UnregisterClass  
 
All window classes that an application registers are unregistered when it terminates.  
 
//
 
donc pas nécessaire.

Reply

Marsh Posté le 03-09-2002 à 14:41:54    

Ok , en fait j'ai pas acces au net comme je veux sinon j'aurai fait la recherche ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed