CMultiPageDHtmlDialog osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

A többoldalas párbeszédpanelek egymás után több HTML-oldalt jelenítenek meg, és kezelik az egyes oldalak eseményeit.

Szemantika

class CMultiPageDHtmlDialog : public CDHtmlDialog

Tagok

Nyilvános konstruktorok

Név Description
CMultiPageDHtmlDialog::CMultiPageDHtmlDialog Többoldalos (varázslóstílusú) DHTML párbeszédpanel-objektumot hoz létre.
CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog Elpusztít egy többoldalos DHTML párbeszédpanel-objektumot.

Megjegyzések

Ennek mechanizmusa egy DHTML- és URL-eseménytérkép, amely beágyazott eseménytérképeket tartalmaz az egyes oldalakhoz.

Example

Ez a többlapos párbeszédpanel három OLYAN HTML-erőforrást feltételez, amelyek egyszerű varázslószerű funkciókat határoznak meg. Az első oldalon a Következő gomb, a második a Prev és a Next gomb, a harmadik pedig az Előző gomb látható. Az egyik gomb lenyomásakor egy kezelőfüggvény meghívja a CDHtmlDialog::LoadFromResource parancsot a megfelelő új lap betöltéséhez.

Az osztálydeklaráció vonatkozó részei (a CMyMultiPageDlg.h-ban):

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
};

Az osztálymegvalósítás lényeges részei (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;
}

Öröklési hierarchia

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

Requirements

Fejléc: afxdhtml.h

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Többoldalos (varázslóstílusú) DHTML párbeszédpanel-objektumot hoz létre.

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

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

CMultiPageDHtmlDialog();

Paraméterek

lpszTemplateName
A párbeszédpanel-sablonerőforrás nevét tartalmazó null értékű sztring.

szHtmlResID
A HTML-erőforrás nevét tartalmazó null értékű sztring.

pParentWnd
Mutató arra a szülő- vagy tulajdonosablak-objektumra ( CWnd típusú), amelyhez a párbeszédpanel-objektum tartozik. Null érték esetén a párbeszédpanel-objektum szülőablaka a fő alkalmazásablakra van állítva.

nIDTemplate
Egy párbeszédpanelsablon-erőforrás azonosítószámát tartalmazza.

nHtmlResID
Egy HTML-erőforrás azonosítószámát tartalmazza.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

Elpusztít egy többoldalos DHTML párbeszédpanel-objektumot.

virtual ~CMultiPageDHtmlDialog();

Lásd még

CDHtmlDialog osztály