Modification du contrôle ATL DHTML
L’Assistant Contrôle ATL fournit du code de démarrage pour vous permettre de générer et d’exécuter le contrôle. Vous pouvez ainsi 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 des méthodes de distribution. Vous pouvez ajouter n’importe quelle méthode de répartition à l’interface. Ensuite, vous pouvez appeler les méthodes dans la ressource HTML.
Pour modifier le contrôle DHTML ATL
En mode Classe, développez le projet de contrôle.
Notez que l’interface qui se termine par « UI » a une méthode.
OnClick
L’interface qui ne se termine pas par « interface utilisateur » n’a aucune méthode.Ajoutez une méthode appelée
MethodInvoked
à l’interface qui ne se termine pas par « UI ».Cette méthode sera ajoutée à l’interface utilisée dans le conteneur de contrôle pour l’interaction de conteneur, et non à l’interface utilisée par DHTML pour interagir avec le contrôle. Seul le conteneur peut appeler cette méthode.
Recherchez la méthode stubbed-out dans le fichier .cpp et ajoutez du code pour afficher une boîte de message, par exemple :
::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
Ajoutez une autre méthode appelée
HelloHTML
, cette fois seulement, ajoutez-la à l’interface qui se termine par « interface utilisateur ». Recherchez la méthode stubbed-outHelloHTML
dans le fichier .cpp et ajoutez du code pour afficher une boîte de 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 « UI ». Implémentez 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
IWebBrowser2
méthodes, car ATL fournit un pointeur vers cette interface pour vous dans votre fichier .h.
Ensuite, modifiez la ressource HTML pour appeler les méthodes que vous avez créées. Vous allez ajouter trois boutons pour appeler ces méthodes.
Pour modifier la ressource HTML
Dans Explorateur de solutions, double-cliquez sur le fichier .htm pour afficher la ressource HTML.
Examinez le code HTML, en particulier les appels aux méthodes de distribution Windows externes. Le code HTML appelle la méthode du
OnClick
projet et les paramètres indiquent le corps du contrôle (theBody
) et la couleur à affecter ( »red
« ). Le texte suivant l’appel de méthode est l’étiquette qui apparaît sur le bouton.Ajoutez une autre
OnClick
méthode, modifiez uniquement la couleur. Par exemple :<br> <br> <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>
Cette méthode crée un bouton intitulé Actualiser, que l’utilisateur peut cliquer pour renvoyer le contrôle à l’arrière-plan blanc d’origine.
Ajoutez l’appel à la
HelloHTML
méthode 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 la boîte de
HelloHTML
message.
Vous pouvez maintenant générer et tester le contrôle DHTML modifié.