Bagikan melalui


Kelas CMultiPageDHtmlDialog

Dialog perkalian menampilkan beberapa halaman HTML secara berurutan dan menangani peristiwa dari setiap halaman.

Sintaks

class CMultiPageDHtmlDialog : public CDHtmlDialog

Anggota

Konstruktor Publik

Nama Deskripsi
CMultiPageDHtmlDialog::CMultiPageDHtmlDialog Membuat objek dialog DHTML multihalaman (gaya wizard).
CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog Menghancurkan objek dialog DHTML multi-halaman.

Keterangan

Mekanisme untuk melakukan ini adalah peta peristiwa DHTML dan URL, yang berisi peta peristiwa yang disematkan untuk setiap halaman.

Contoh

Dialog perkalian ini mengasumsikan tiga sumber daya HTML yang menentukan fungsionalitas seperti wizard sederhana. Halaman pertama memiliki tombol Berikutnya , yang kedua tombol Prev dan Next , dan yang ketiga tombol Prev . Ketika salah satu tombol ditekan, fungsi handler memanggil CDHtmlDialog::LoadFromResource untuk memuat halaman baru yang sesuai.

Bagian terkait dari deklarasi kelas (dalam 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
};

Bagian terkait dari implementasi kelas (dalam 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;
}

Hierarki Warisan

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

Persyaratan

Header: afxdhtml.h

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Membuat objek dialog DHTML multihalaman (gaya wizard).

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

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

CMultiPageDHtmlDialog();

Parameter

lpszTemplateName
String yang dihentikan null yang merupakan nama sumber daya templat kotak dialog.

szHtmlResID
String yang dihentikan null yang merupakan nama sumber daya HTML.

pParentWnd
Penunjuk ke objek jendela induk atau pemilik (tipe CWnd) tempat objek dialog berada. Jika NULL, jendela induk objek dialog diatur ke jendela aplikasi utama.

nIDTemplate
Berisi nomor ID sumber daya templat kotak dialog.

nHtmlResID
Berisi nomor ID sumber daya HTML.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

Menghancurkan objek dialog DHTML multi-halaman.

virtual ~CMultiPageDHtmlDialog();

Lihat juga

Kelas CDHtmlDialog