CMultiPageDHtmlDialog-Klasse
Ein mehrseitigen Dialogfeld werden mehrere HTML-Seiten sequenziell an und behandelt die Ereignisse von jeder Seite.
class CMultiPageDHtmlDialog : public CDHtmlDialog
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein mehrseitiges (AssistentFormat) DHTML-Dialogfeldobjekt. |
|
Zerstört ein mehrseitiges DHTML-Dialogfeldobjekt. |
Hinweise
Der Mechanismus für das diese Vorgehensweise ist DHTML und URL-Ereigniszuordnung, das eingebettete Ereigniszuordnungen für jede Seite enthält.
Beispiel
Dieses Dialogfeld mehrseitige akzeptiert drei HTML-Ressourcen an, die einfache assistentenbasierte Funktionen definieren. Die erste Seite verfügt über eine Next Schaltfläche, die eine zweite Zurück und Next Schaltfläche und das dritte Zurück eine Schaltfläche. Wenn einer der Schaltflächen gedrückt wird, ruft CDHtmlDialog::LoadFromResource einer Handlerfunktion, um die entsprechenden neuen Seite zu laden.
Die entsprechenden Teile der Klassendeklaration (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
Die entsprechenden Teile der Klassenimplementierung (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;
}
Vererbungshierarchie
CDHtmlSinkHandlerBase2
CDHtmlSinkHandlerBase1
CDHtmlSinkHandler
CDHtmlEventSink
CMultiPageDHtmlDialog
Anforderungen
Header: afxdhtml.h