Modifier le contrôle ATL DHTML
L'Assistant Contrôle ATL fournit le code de démarrage afin de pouvoir générer et exécuter le contrôle, et vous pouvez voir comment les méthodes sont écrites dans les fichiers projet et comment les appels DHTML dans le code C++ du contrôle à l'aide de les méthodes d'expédition. Vous pouvez ajouter toute méthode d'expédition à l'interface. Ensuite, vous pouvez appeler les méthodes dans la ressource HTML.
Pour modifier le contrôle ATL DHTML
Dans l'Affichage de classes, développez le projet de contrôle.
Notez que l'interface qui se termine par « interface » a une méthode, OnClick. L'interface qui ne se termine pas par « interface » n'a aucune méthode.
Ajoutez une méthode appelée MethodInvokedà l'interface qui ne se termine pas par « interface ».
Cette méthode sera ajoutée à l'interface utilisée dans le conteneur de contrôle de l'interaction de conteneur, pas à l'interface utilisée par dynamic HTML pour interagir avec le contrôle. Seul le conteneur peut appeler cette méthode.
Recherchez la méthode déracinée- dans le fichier.cpp et ajoutez le code pour afficher un message, par exemple :
::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
Ajoutez une autre méthode appelée HelloHTML, seule cette fois, l'ajoutez à l'interface qui se termine par « interface ». Recherchez la méthode déracinée- d' HelloHTML dans le fichier.cpp et ajoutez le code pour afficher un message, par exemple :
::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);
Ajoutez une troisième méthode, GoToURL, à l'interface qui ne se termine pas par « interface ». Implémentent cette méthode en appelant IWebBrowser2::Navigate, comme suit :
m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);
Vous pouvez utiliser les méthodes d' IWebBrowser2 parce qu'ATL fournit un pointeur vers cette interface pour vous dans le fichier .h.
Ensuite, modifiez la ressource HTML pour appeler les méthodes créées. Vous ajouterez trois boutons pour appeler ces méthodes.
Pour modifier la ressource HTML
Dans l'explorateur de solutions, double-cliquez sur le fichier .htm pour afficher la ressource HTML.
Examinez le HTML, notamment les appels aux méthodes externes d'expédition windows. Le HTML appelle la méthode d' OnClick du projet, et les paramètres indiquent le corps du contrôle (theBody) et de la couleur pour assigner ("red"). Le texte suivant l'appel de méthode est l'étiquette qui apparaît sur le bouton.
Ajoutez une autre méthode d' OnClick , seule modifier la couleur. Par exemple :
<br> <br> <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>
Cette méthode crée un bouton, intitulé Refresh, que l'utilisateur peut cliquer pour retourner le contrôle à l'origine, arrière-plan blanc.
Ajoutez l'appel à la méthode d' HelloHTML que vous avez créée. Par exemple :
<br> <br> <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>
Cette méthode crée un bouton, intitulé HelloHTML, que l'utilisateur peut cliquer pour afficher le message d' HelloHTML .
Vous pouvez maintenant générer et testez le contrôle modifié DHTML.