Freigeben über


CMultiPageDHtmlDialog-Klasse

Ein mehrseitigen Dialogfeld werden mehrere HTML-Seiten sequenziell an und behandelt die Ereignisse von jeder Seite.

class CMultiPageDHtmlDialog : public CDHtmlDialog

Mitglieder

9he1z9ds.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Erstellt ein mehrseitiges (AssistentFormat) DHTML-Dialogfeldobjekt.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

Zerstört ein mehrseitiges DHTML-Dialogfeldobjekt.

Hinweise

Der Mechanismus für das diese Vorgehensweise ist DHTML und URL-Ereigniszuordnung, das eingebettete Ereigniszuordnungen für jede Seite enthält.

Beispiel

Dieses Dialogfeld mehrseitige akzeptiert drei HTML-Ressourcen an, die einfache assistentenbasierte Funktionen definieren.Die erste Seite verfügt über eine Next Schaltfläche, die eine zweite Zurück und Next Schaltfläche und das dritte Zurück eine Schaltfläche.Wenn einer der Schaltflächen gedrückt wird, ruft CDHtmlDialog::LoadFromResource einer Handlerfunktion, um die entsprechenden neuen Seite zu laden.

Die entsprechenden Teile der Klassendeklaration (in 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

Die entsprechenden Teile der Klassenimplementierung (in 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;
}

Vererbungshierarchie

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog-Klasse

CDHtmlDialog

CMultiPageDHtmlDialog

Anforderungen

Header: afxdhtml.h

Siehe auch

Referenz

CDHtmlDialog-Klasse

Weitere Ressourcen

Multipage DHTML and URL Event Maps