Je souhaite que mon BHO écoute l'événement onmousedown de certains éléments d'une certaine page Web. J'ai tout le code qui trouve l'élément spécifique, et dans msdn il dit que j'ai besoin d'utiliser l'événement get_onmousedown. Je suis venu avec ce code. La question est, comment puis-je lui dire d'exécuter certaines fonctions lorsque cet événement se produit?Mouse Event BHO
0
A
Répondre
3
v
- VARIANT de type VT_DISPATCH qui spécifie l'interface IDispatch d'un objet avec une méthode par défaut qui est invoquée lorsque l'événement se produit.
Les gestionnaires d'événements dans ce contexte sont les instances COM qui mettent en œuvre IDispatch
- donc vous devez passer un pointeur vers un IDispatch
que votre objet gestionnaire d'événements implémente:
CComQIPtr<IDispatch> spDisp(spMyHandler); // something like that
someElement->put_onmousedown(CComVariant(spDisp));
Note: put_
au lieu de get_
- vous voulez enregistrer un gestionnaire.
Sur ce point, IDispatch::Invoke()
est appelée avec:
wFlags
contenantDISPATCH_METHOD
("une méthode devient invoquaient")dispIdMember
étant0
/DISPID_VALUE
("la méthode par défaut")
Conjointement ceci devrait devenir moi quelque chose comme:
HRESULT MyHandler::Invoke(DISPID dispIdMember, REFIID, LCID, WORD wFlags,
DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*)
{
// ...
if((wFlags & DISPATCH_METHOD) && (dispIdMember == DISPID_VALUE))
{
// ...
}
}
Questions connexes
- 1. WPF Mouse Click Off Event
- 2. Mouse event e (Jpanel) Java help
- 3. Event listener vs event handler
- 4. Mouse Buffer Menu avec clavier
- 5. internet-explorer BHO PDF
- 6. Problème d'onglet IE8 BHO
- 7. BHO fuite de mémoire
- 8. Déployer des erreurs BHO
- 9. BHO Handle OnSubmit événement
- 10. MouseWheel Event Fire
- 11. C++ mouseover event
- 12. VC# Multiple Mouse
- 13. jquery hover mouse out
- 14. C#: WPF Mouse Over
- 15. Java auto mouse
- 16. SWT TrayItem Mouse listener
- 17. WPF Mouse busy icon
- 18. WinForms Mouse Capture
- 19. Cross Browser Mouse Suivre?
- 20. Evénement Silverlight Mouse
- 21. Cocoa Move Mouse
- 22. Événements WPF Grid Mouse
- 23. jQuery mouse file/css change problem
- 24. jqGrid Mouse Glisser pour redimensionner
- 25. ListItem Mouse Enter Message Box
- 26. répéter un événement Mouse Over
- 27. Mouse hover événement dans MVC
- 28. C# Programmatic Mouse Movement/Clics
- 29. mouse over et ajax tooltip
- 30. TextBox Mouse Double-cliquez sur
ne me permet pas d'ajouter "MainClassName :: Invoke" en fonction: « fonction virtuelle dominante diffère de « ATL :: IDispatchImpl :: Invoke 'seulement en appelant la convention " –
shaimagz
Utilisez' HRESULT STDMETHODCALLTYPE Invoquer (/ * params * /) 'ou' STDMETHOD (Invoke) (/ * params * /) 'pour la déclaration. –
Merci! une dernière question: dans la méthode invoke, comment utiliser l'IDispatch actuel? – shaimagz