Numéro d'article: 246247 - Dernière mise à jour: jeudi 11 mai 2006 - Version: 4.0 Mode récepteur HTML document événements ordinateur hôte WebBrowser
SommaireRésumé Les développeurs souhaitant ordinateur hôte le contrôle WebBrowser dans Microsoft Visual C++ ou Visual Basic fréquemment récepteur d'événements pour le document actuellement chargé. C'est très pratique pour fournir le comportement global qui navigateur auteurs souhaitez implémenter sur toutes les pages de l'expérience utilisateur, comme les s'externes d'informations sur un lien sur ou une partie du texte sélectionné. La stratégie générale pour Visual C++ et Visual Basic est :
Plus d'informationsVisual C++ (ATL)L'activité d'of commande premier dans Visual C++ est pour créer votre événement récepteurs. Deux récepteurs d'événements doivent être créés : un pour DWebBrowserEvents2 pour le contrôle WebBrowser et un pour HtmlDocumentEvents (défini dans MSHTML.H) pour le document ATL (Active Template Library) réel.Le récepteur DWebBrowserEvents2 peut être implémenté à l'aide très rapidement IDispEventImpl D'ATL, comme décrit dans l'article suivant de la base de connaissances Microsoft : 194179
(http://support.microsoft.com/kb/194179/
)
AtlEvnt.exe exemple montre comment crée les récepteurs D'ATL en utilisant les classes ATL IDispEventImpl et IDispEventSimpleImpl Car il sera un nouveau document chaque fois que l'utilisateur accède à une nouvelle page, vous devez recevoir les événements de document chaque fois que le contrôle WebBrowser génère l'événement DocumentComplete. Dans le Gestionnaire de DocumentComplete, utiliser le code suivant pour récepteur d'événements de documents : 180366
(http://support.microsoft.com/kb/180366/
)
Comment faire pour déterminer une page faite chargement dans contrôle WebBrowser Votre récepteur d'événements document HTML doit inclure les fichiers <MSHTML.h> et <MSHTMDID.h> (qui définit toutes les DISPID pour HTMLDocumentEvents).Gestionnaires d'événements pour document annulables doivent renvoyer une valeur de type Boolean valeur dans le paramètre pvarResult de la méthode IDispatch::Invoke(). Une valeur VARIANT_TRUE indique que Internet Explorer doit exécuter son propre traitement des événements ; une valeur de VARIANT_FALSE annule l'événement. Pour cette raison, vous devez remplacer Invoke() directement au lieu de l'aide d'une implémentation contextuel comme IDispEventImpl D'ATL, qui pas permet de modifier le pvarResult. Pour remplacer Invoke() correctement dans un récepteur d'événements ATL, consultez l'article suivant dans la Base de connaissances : 181277
(http://support.microsoft.com/kb/181277/
)
L'exemple AtlSink.exe montre comment implémenter un récepteur dispinterface à l'aide de ATL (Active Template Library) dans Visual C++ Le code de récepteur suivant illustre comment Invoke() peut être remplacée pour gérer l'événement Click (DISPID_CLICK): Visual BasicLe processus dans Visual Basic est identique : récepteur d'événements de documents dans l'événement DocumentComplete pour l'objet WebBrowser. Heureusement, le processus de recevoir des événements est réduite en utilisant WithEvents clé Visual Basic dans coopération avec une déclaration de variable.En supposant que votre WebBrowser nommé WebBrowser1 et que vous ajoutées au projet bibliothèque d'objets Microsoft HTML, le code suivant comporte exactement comme le code C++: RéférencesPour plus d'informations sur le développement de solutions Web pour Microsoft Internet Explorer, reportez-vous au adresse aux sites Web de Microsoft aux adresses suivantes : http://msdn.microsoft.com/ie/
(http://msdn.microsoft.com/ie/)
http://support.microsoft.com/iep (http://support.microsoft.com/iep) Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
Traduction automatiqueIMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. La version anglaise de cet article est la suivante: 246247
(http://support.microsoft.com/kb/246247/en-us/
)
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Autres ressources Autres sites d'aide
CommunautésObtenir de l'aideTraductions disponibles
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Retour au début
