Freigeben über


CMultiPageDHtmlDialog-Klasse

Ein mehrseitiges Dialogfeld zeigt mehrere HTML-Seiten sequenziell an und behandelt die Ereignisse jeder Seite.

Syntax

class CMultiPageDHtmlDialog : public CDHtmlDialog

Member

Öffentliche Konstruktoren

Name Beschreibung
CMultiPageDHtmlDialog::CMultiPageDHtmlDialog Erstellt ein mehrseitiges DHTML-Dialogfeldobjekt (Assistentenformat).
CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog Zerstört ein mehrseitiges DHTML-Dialogfeldobjekt.

Hinweise

Der Mechanismus hierfür ist eine DHTML- und URL-Ereigniszuordnung, die eingebettete Ereigniszuordnungen für jede Seite enthält.

Beispiel

In diesem mehrseitigen Dialogfeld werden drei HTML-Ressourcen vorausgesetzt, die einfache Funktionen wie den Assistenten definieren. Die erste Seite verfügt über eine Schaltfläche "Weiter" , die zweite schaltfläche " Vor" und "Weiter " und die dritte Schaltfläche " Vor" . Wenn eine der Schaltflächen gedrückt wird, ruft eine Handlerfunktion CDHtmlDialog::LoadFromResource auf, um die entsprechende neue Seite zu laden.

Die relevanten 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 relevanten 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

CDHtmlDialog

CMultiPageDHtmlDialog

Anforderungen

Header: afxdhtml.h

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Erstellt ein mehrseitiges DHTML-Dialogfeldobjekt (Assistentenformat).

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

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

CMultiPageDHtmlDialog();

Parameter

lpszTemplateName
Die mit Null beendete Zeichenfolge, bei der es sich um den Namen einer Dialogfeldvorlagenressource handelt.

szHtmlResID
Die mit Null beendete Zeichenfolge, die den Namen einer HTML-Ressource darstellt.

pParentWnd
Ein Zeiger auf das übergeordnete oder Besitzerfensterobjekt (vom Typ CWnd), zu dem das Dialogobjekt gehört. Wenn es NULL ist, wird das übergeordnete Fenster des Dialogfeldobjekts auf das Hauptanwendungsfenster festgelegt.

nIDTemplate
Enthält die ID-Nummer einer Dialogfeldvorlagenressource.

nHtmlResID
Enthält die ID-Nummer einer HTML-Ressource.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

Zerstört ein mehrseitiges DHTML-Dialogfeldobjekt.

virtual ~CMultiPageDHtmlDialog();

Siehe auch

CDHtmlDialog-Klasse