Compartir a través de


CMultiPageDHtmlDialog Class

Un diálogo de varias páginas muestra las páginas HTML varias secuencialmente y administra los eventos de cada página.

class CMultiPageDHtmlDialog : public CDHtmlDialog

Miembros

Constructores públicos

Name

Descripción

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Construye (asistente-estilo) un objeto de varias páginas de diálogo DHTML.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

Destruye un objeto de varias páginas de diálogo DHTML.

Comentarios

el mecanismo para hacer el es Mapa de eventos DHTML y dirección URL, que contiene mapas incrustados de eventos para cada página.

Ejemplo

Este diálogo de varias páginas supone a tres recursos HTML que definen simple asistente-como funcionalidad. la primera página tiene un botón de Next , el segundo un botón de anterior y de Next , y el tercero un botón de anterior . Cuando uno de los botones se presiona, la función CDHtmlDialog:: LoadFromResource de un controlador para cargar la nueva página apropiada.

las partes pertinentes de la declaración de clase (en CMyMultiPageDlg.h):

class CMyMultiPageDlg : public CMultiPageDHtmlDialog
{
public:
   // Declare the DHTML event handlers:
   HRESULT OnPage1Next(IHTMLElement *pElement);
   HRESULT OnPage2Next(IHTMLElement *pElement);
   HRESULT OnPage2Back(IHTMLElement *pElement);
   HRESULT OnPage3Back(IHTMLElement *pElement);

   DECLARE_DHTML_URL_EVENT_MAP()

   // rest of class declaration omitted

Las partes pertinentes de implementación de la clase (en CMyMultipageDlg.cpp):

BEGIN_DHTML_URL_EVENT_MAP(CMyMultiPageDlg)

   BEGIN_EMBED_DHTML_EVENT_MAP(CMyMultiPageDlg, Page1)
      DHTML_EVENT_ONCLICK(_T("Next"), OnPage1Next)
   END_EMBED_DHTML_EVENT_MAP()

   BEGIN_EMBED_DHTML_EVENT_MAP(CMyMultiPageDlg, Page2)
      DHTML_EVENT_ONCLICK(_T("Back"), OnPage2Back)
      DHTML_EVENT_ONCLICK(_T("Next"), OnPage2Next)
   END_EMBED_DHTML_EVENT_MAP()

   BEGIN_EMBED_DHTML_EVENT_MAP(CMyMultiPageDlg, Page3)
      DHTML_EVENT_ONCLICK(_T("Back"), OnPage3Back)
   END_EMBED_DHTML_EVENT_MAP()

   BEGIN_URL_ENTRIES(CMyMultiPageDlg)
      URL_EVENT_ENTRY(CMyMultiPageDlg, _T("153"), Page1)
      URL_EVENT_ENTRY(CMyMultiPageDlg, _T("154"), Page2)
      URL_EVENT_ENTRY(CMyMultiPageDlg, _T("155"), Page3)
      // Note: IDR_PAGE1 = 153, IDR_PAGE2 = 154, IDR_PAGE3 = 155
   END_URL_ENTRIES()

END_DHTML_URL_EVENT_MAP(CMyMultiPageDlg)

HRESULT CMyMultiPageDlg::OnPage1Next(IHTMLElement *pElement)
{
   UNREFERENCED_PARAMETER(pElement);
   LoadFromResource(IDR_PAGE2);
   return S_OK;
}

HRESULT CMyMultiPageDlg::OnPage2Next(IHTMLElement *pElement)
{
   UNREFERENCED_PARAMETER(pElement);
   LoadFromResource(IDR_PAGE3);
   return S_OK;
}

HRESULT CMyMultiPageDlg::OnPage2Back(IHTMLElement *pElement)
{
   UNREFERENCED_PARAMETER(pElement);
   LoadFromResource(IDR_PAGE1);
   return S_OK;
}

HRESULT CMyMultiPageDlg::OnPage3Back(IHTMLElement *pElement)
{
   UNREFERENCED_PARAMETER(pElement);
   LoadFromResource(IDR_PAGE2);
   return S_OK;
}

Jerarquía de herencia

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

Requisitos

encabezado: afxdhtml.h

Vea también

Referencia

CDHtmlDialog (Clase)

Otros recursos

Multipage DHTML and URL Event Maps