Aracılığıyla paylaş


CMultiPageDHtmlDialog sınıfı

Birden çok sayfalı bir iletişim kutusu birden çok html sayfaları ardışık olarak görüntüler ve her sayfadan olayları işler.

class CMultiPageDHtmlDialog : public CDHtmlDialog

Üyeler

9he1z9ds.collapse_all(tr-tr,VS.110).gifOrtak Oluşturucusu

Ad

Description

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Birden çok sayfalı (stil Sihirbazı) dhtml iletişim nesnesi oluşturur.

CMultiPageDHtmlDialog:: ~ CMultiPageDHtmlDialog

Birden çok sayfalı bir dhtml iletişim nesnesini yok eder.

Notlar

Bunu yapmak için bir mekanizma olan bir olay dhtml ve url eşleme, içeren gömülü olay haritalar her sayfa için.

Örnek

Birden çok sayfalı bu iletişim kutusu, basit sihirbaz benzeri işlevsellik tanımlayan üç html kaynağı varsayar.İlk sayfa olan bir Next düğmesi, ikinci bir önceki ve Next düğmesi ve üçüncü bir önceki düğme.Düğmelerden birini basıldığında bir işleyici işlevi çağıran CDHtmlDialog::LoadFromResource uygun yeni sayfa yüklenemiyor.

Sınıf bildirimindeki (CMyMultiPageDlg.h) ilgili bölümleri:

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

Sınıf uygulamasında (CMyMultipageDlg.cpp) ilgili bölümleri:

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

Devralma hiyerarşisi

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

Gereksinimler

Başlık: afxdhtml.h

Ayrıca bkz.

Başvuru

CDHtmlDialog sınıfı

Diğer Kaynaklar

Multipage DHTML and URL Event Maps