Modifica del un controllo DHTML ATL
La Creazione guidata controllo ATL fornisce codice di avvio in modo da poter compilare ed eseguire il controllo e visualizzare il modo in cui i metodi vengono scritti nei file di progetto e il modo in cui il DHTML chiama nel codice C++ del controllo usando i metodi dispatch. È possibile aggiungere qualsiasi metodo dispatch all'interfaccia. È quindi possibile chiamare i metodi nella risorsa HTML.
Per modificare il controllo DHTML ATL
In Visualizzazione classi espandere il progetto di controllo.
Si noti che l'interfaccia che termina in "UI" ha un metodo,
OnClick
. L'interfaccia che non termina nell'interfaccia utente non dispone di metodi.Aggiungere un metodo chiamato
MethodInvoked
all'interfaccia che non termina con l'interfaccia utente.Questo metodo verrà aggiunto all'interfaccia usata nel contenitore di controlli per l'interazione del contenitore, non all'interfaccia utilizzata da DHTML per interagire con il controllo. Solo il contenitore può richiamare questo metodo.
Trovare il metodo stubed-out nel file .cpp e aggiungere codice per visualizzare una finestra di messaggio, ad esempio:
::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
Aggiungere un altro metodo denominato
HelloHTML
, solo questa volta, aggiungerlo all'interfaccia che termina con l'interfaccia "UI". Trovare il metodo stubbed-outHelloHTML
nel file .cpp e aggiungere codice per visualizzare una finestra di messaggio, ad esempio:::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);
Aggiungere un terzo metodo,
GoToURL
, all'interfaccia che non termina con l'interfaccia utente. Implementare questo metodo chiamando IWebBrowser2::Navigate, come indicato di seguito:m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);
È possibile usare i
IWebBrowser2
metodi perché ATL fornisce un puntatore a tale interfaccia nel file con estensione h.
Modificare quindi la risorsa HTML per richiamare i metodi creati. Verranno aggiunti tre pulsanti per richiamare questi metodi.
Per modificare la risorsa HTML
In Esplora soluzioni fare doppio clic sul file .htm per visualizzare la risorsa HTML.
Esaminare il codice HTML, in particolare le chiamate ai metodi dispatch di Windows esterni. Il codice HTML chiama il metodo del
OnClick
progetto e i parametri indicano il corpo del controllo (theBody
) e il colore da assegnare ("red
"). Il testo che segue la chiamata al metodo è l'etichetta visualizzata sul pulsante.Aggiungere un altro
OnClick
metodo, modificare solo il colore. Ad esempio:<br> <br> <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>
Questo metodo creerà un pulsante, con etichetta Refresh, che l'utente può fare clic per restituire il controllo allo sfondo bianco originale.
Aggiungere la chiamata al
HelloHTML
metodo creato. Ad esempio:<br> <br> <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>
Questo metodo creerà un pulsante, con l'etichetta HelloHTML, che l'utente può fare clic per visualizzare la finestra di
HelloHTML
messaggio.
È ora possibile compilare e testare il controllo DHTML modificato.