Partilhar via


Classe CMultiPageDHtmlDialog

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Um diálogo multi-página exibe várias páginas HTML sequencialmente e gere os eventos de cada página.

Sintaxe

class CMultiPageDHtmlDialog : public CDHtmlDialog

Membros

Construtores Públicos

Nome Description
CMultiPageDHtmlDialog::CMultiPageDHtmlDialog Constrói um objeto de diálogo DHTML multipágina (estilo assistente).
CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog Destrói um objeto de diálogo DHTML multipágina.

Observações

O mecanismo para fazer isto é um mapa de eventos DHTML e URL, que contém mapas de eventos incorporados para cada página.

Example

Este diálogo multipágina assume três recursos HTML que definem funcionalidades simples semelhantes a um assistente. A primeira página tem um botão Seguinte , a segunda um botão Anterior e Seguinte , e a terceira um botão Anterior . Quando um dos botões é pressionado, uma função handler chama CDHtmlDialog::LoadFromResource para carregar a nova página apropriada.

As partes pertinentes da declaração de classe (em 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
};

As partes pertinentes da implementação da classe (em 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;
}

Hierarquia de herança

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

Requerimentos

Cabeçalho: afxdhtml.h

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Constrói um objeto de diálogo DHTML multipágina (estilo assistente).

CMultiPageDHtmlDialog(
    LPCTSTR lpszTemplateName,
    LPCTSTR szHtmlResID = NULL,
    CWnd* pParentWnd = NULL);

CMultiPageDHtmlDialog(
    UINT nIDTemplate,
    UINT nHtmlResID = 0,
    CWnd* pParentWnd = NULL);

CMultiPageDHtmlDialog();

Parâmetros

lpszTemplateName
A cadeia terminada por null que é o nome de um recurso modelo de caixa de diálogo.

szHtmlResID
A cadeia terminada nula que é o nome de um recurso HTML.

pParentWnd
Um ponteiro para o objeto de janela pai ou proprietário (do tipo CWnd) ao qual pertence o objeto de diálogo. Se for NULL, a janela pai do objeto de diálogo é definida para a janela principal da aplicação.

nIDTemplate
Contém o número de ID de um recurso modelo de caixa de diálogo.

nHtmlResID
Contém o número ID de um recurso HTML.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

Destrói um objeto de diálogo DHTML multipágina.

virtual ~CMultiPageDHtmlDialog();

Consulte também

Classe CDHtmlDialog