How to: Access metodi/proprietà del contenitore da script

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 188015
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sommario
Durante l'hosting del controllo WebBrowser in un'applicazione Visual c ++, potrebbe essere necessario accedere a metodi o proprietà del contenitore da script in una pagina Web. Questo articolo viene descritto come eseguire questa operazione implementa l'interfaccia IDocHostUIHandler.
Informazioni
Implementando l'interfaccia IDocHostUIHandler, è possibile controllare molte delle funzionalità interfaccia utente del controllo WebBrowser nell'applicazione host. IDocHostUIHandler consente inoltre di estendere il modello a oggetti DHTML (Dynamic HTML) per accedere ai metodi e proprietà del contenitore da all'interno di script.

Il metodo di GetExternal() della IDocHostUIHandler fornisce questa funzionalità. Quando script in una pagina Web chiama "window.external.yourMethod", il controllo WebBrowser chiama il metodo di GetExternal per recuperare un puntatore IDispatch dell'applicazione host. È grazie a questo puntatore che il controllo WebBrowser è in grado di accedere ai metodi e proprietà.

Una volta che il controllo WebBrowser ha un puntatore IDispatch del contenitore, quindi chiama IDispatch::GetIDsOfNames() per ottenere il DISPID del metodo o proprietà chiamata dallo script, yourMethod in questo caso.

Infine, le chiamate del controllo WebBrowser IDispatch::Invoke() con il DISPID recupero dal GetIDsOfNames().

Di seguito sono i passaggi da completare per estendere il modello di oggetti DHTML per poter accedere a metodi e la proprietà del contenitore da script:
  1. Implementare IDocHostUIHandler.
  2. Implementare il metodo IDocHostUIHandler::GetExternal. Impostare IDispatch parametro a quella del contenitore di modo:
    STDMETHOD(GetExternal)(IDispatch** ppDispatch){   // Assumes you inherit from IDispatch   *ppDispatch = (IDispatch*)this;   (*ppDispatch)->AddRef();   return S_OK;}					
  3. Restituire il dispatch ID (DISPID) del metodo o proprietà da GetIDsOfNames. Se è stato aggiunto il metodo o proprietà utilizzando una procedura guidata, questo verrà eseguito automaticamente.
  4. Implementare il DISPID del metodo o proprietà l'implementazione di IDispatch:: Invoke modo:
    STDMETHODIMP CAtlBrCon::Invoke(DISPID dispidMember, REFIID riid,                               LCID lcid, WORD wFlags,                               DISPPARAMS* pDispParams,                               VARIANT* pvarResult,                               EXCEPINFO* pExcepInfo, UINT* puArgErr){   switch (dispidMember)   {      case DISPID_MYMETHOD_OR_PROPERTY:         // Do something here      default:         return E_INVALIDARG;   }   return S_OK;}					
  5. Chiamare un metodo o proprietà del contenitore da uno script come questo:
     <SCRIPT LANGUAGE="VBScript">    Sub SomeControl_OnClick       window.external.yourMethod    End Sub </SCRIPT>					
Riferimenti
Per ulteriori informazioni sulle tecnologie illustrate in questo articolo, vedere la documentazione relativa alle interfacce di hosting avanzato e alla IDocHostUIHandler in MSDN Online Web Workshop: (c) 1998 Microsoft Corporation, tutti i diritti riservati. Contributi di Scott Roberts, Microsoft Corporation

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 188015 - Ultima revisione: 02/09/2014 20:59:04 - Revisione: 2.1

Microsoft Internet Explorer 4.0 128-Bit Edition, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 4.01 Service Pack 1, Microsoft Internet Explorer 5.0, Microsoft Internet Explorer 5.5

  • kbnosurvey kbarchive kbmt kbfaq kbhowto kbscript kbwebbrowser KB188015 KbMtit
Feedback