Share via


Klasse CMultiPageDHtmlDialog

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

In een dialoogvenster met meerdere pagina's worden meerdere HTML-pagina's opeenvolgend weergegeven en worden de gebeurtenissen van elke pagina verwerkt.

Syntaxis

class CMultiPageDHtmlDialog : public CDHtmlDialog

Leden

Openbare constructors

Naam Description
CMultiPageDHtmlDialog::CMultiPageDHtmlDialog Hiermee maakt u een DHTML-dialoogvensterobject met meerdere pagina's (wizardstijl).
CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog Vernietigt een DHTML-dialoogvensterobject met meerdere pagina's.

Opmerkingen

Het mechanisme hiervoor is een DHTML- en URL-gebeurtenisoverzicht, dat ingesloten gebeurtenistoewijzingen voor elke pagina bevat.

Example

In dit dialoogvenster met meerdere pagina's wordt ervan uitgegaan dat er drie HTML-resources zijn die eenvoudige wizardachtige functionaliteit definiëren. De eerste pagina heeft een knop Volgende , de tweede een knop Prev en Next en de derde knop Prev . Wanneer een van de knoppen wordt ingedrukt, roept een handler-functie CDHtmlDialog::LoadFromResource aan om de juiste nieuwe pagina te laden.

De relevante onderdelen van de klassedeclaratie (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
};

De relevante onderdelen van de klasse-implementatie (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;
}

Overnamehiërarchie

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget-

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

Requirements

Koptekst: afxdhtml.h

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Hiermee maakt u een DHTML-dialoogvensterobject met meerdere pagina's (wizardstijl).

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

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

CMultiPageDHtmlDialog();

Parameterwaarden

lpszTemplateName
De door null beëindigde tekenreeks die de naam is van een dialoogvenstersjabloonresource.

szHtmlResID
De null-beëindigde tekenreeks die de naam is van een HTML-resource.

pParentWnd
Een aanwijzer naar het bovenliggende of eigenaarvensterobject (van het type CWnd) waartoe het dialoogvensterobject behoort. Als het NULL is, wordt het bovenliggende venster van het dialoogvenster ingesteld op het hoofdtoepassingsvenster.

nIDTemplate
Bevat het id-nummer van een resource voor een dialoogvenstersjabloon.

nHtmlResID
Bevat het id-nummer van een HTML-resource.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

Vernietigt een DHTML-dialoogvensterobject met meerdere pagina's.

virtual ~CMultiPageDHtmlDialog();

Zie ook

CDHtmlDialog-klasse