Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
CDHtmlSinkHandlerBase2
CDHtmlSinkHandlerBase1
CDHtmlSinkHandler
CDHtmlEventSink
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();