Un controllo DHTML è simile a un qualsiasi controllo ATL, ad eccezione:
Oltre a un controllo implementa le interfacce regolari implementa un'interfaccia aggiuntiva che viene utilizzata per comunicare tra il codice C++ e l'interfaccia utente HTML (UI). L'interfaccia utente HTML chiama in codice C++ utilizzando questa interfaccia.
Esso crea una risorsa HTML per il controllo dell'interfaccia utente.
Esso consente l'accesso al modello di oggetti DHTML attraverso la variabile membro m_spBrowser , che è un puntatore intelligente di tipo IWebBrowser2. Utilizzare questo puntatore per accedere a qualsiasi parte del modello di oggetti DHTML.
Esaminando gli elementi del progetto di controllo DHTML
Il grafico seguente illustra la relazione tra la DLL, il controllo DHTML, il browser web e risorsa HTML.
&Notanbsp; I nomi su questo grafico sono segnaposti. I nomi di risorsa HTML e le interfacce esposte sul controllo sono basati sui nomi che li assegnano nella creazione guidata oggetto ATL.
In questo grafico, gli elementi sono:
My DLL La DLL creata utilizzando la creazione guidata applicazione.
Co&ntrollo DHTML ( m_spBrowser ) nbsp; Il controllo DHTML, creato utilizzando la creazione guidata oggetto. Questo controllo accede l'oggetto browser web e i relativi metodi tramite interfaccia dell'oggetto browser web, IWebBrowser2. Il controllo stesso espone le seguenti due interfacce, oltre alle altre interfacce standard richieste per un controllo.
IDHCTL1 L'interfaccia esposta dal controllo per uso solo dal contenitore.
IDHCTLUI1 L'interfaccia dispatch per la comunicazione tra il codice C++ e l'interfaccia utente HTML. Il browser web utilizza l'interfaccia di invio del controllo per visualizzare il controllo. È possibile chiamare i vari metodi di questa interfaccia dispatch dall'interfaccia utente del controllo richiamando window.external , seguito dal nome del metodo su questa interfaccia dispatch che si desidera richiamare. Dovrebbe accedere window.external da un tag SCRIPT all'interno del codice HTML che compone l'interfaccia utente per questo controllo. Per ulteriori informazioni sui metodi esterni nel file di risorse, vedere Chiamata di codice C++ da DHTML.
IDR_CTL1 L'ID di risorsa della risorsa HTML. Il nome del file, in questo caso, è DHCTL1UI.htm. Il controllo DHTML utilizza una risorsa HTML che contiene il tag HTML standard e finestra esterna spedizione comandi che possono essere modificati utilizzando l'editor di testo.
Browser Web Il browser web Visualizza l'interfaccia utente del controllo, basato su HTML nella risorsa HTML. Un puntatore all'interfaccia IWebBrowser2 del browser web è disponibile nel controllo DHTML per consentire l'accesso al modello di oggetti DHTML.
La creazione guidata oggetto genera un controllo con codice di default in risorsa HTML e file cpp. Compilare ed eseguire il controllo come esso viene generato dalla procedura guidata e quindi visualizzare il controllo nel browser web o Test Container. L'immagine qui sotto mostra il valore predefinito di controllo ATL DHTML con tre pulsanti visualizzati in Test Container: