Partager via


CMultiPageDHtmlDialog, classe

Une boîte de dialogue multipage affiche plusieurs pages HTML de manière séquentielle et gère les événements de chaque page.

Syntaxe

class CMultiPageDHtmlDialog : public CDHtmlDialog

Membres

Constructeurs publics

Nom Description
CMultiPageDHtmlDialog ::CMultiPageDHtmlDialog Construit un objet de boîte de dialogue DHTML multipage (style d’Assistant).
CMultiPageDHtmlDialog ::~CMultiPageDHtmlDialog Détruit un objet de dialogue DHTML multipage.

Notes

Le mécanisme pour ce faire est un mappage d’événements DHTML et URL, qui contient des mappages d’événements incorporés pour chaque page.

Exemple

Cette boîte de dialogue multipage suppose trois ressources HTML qui définissent des fonctionnalités simples de l’Assistant. La première page a un bouton Suivant , le deuxième bouton Prév et Suivant , et le troisième bouton Prév . Lorsque l’un des boutons est appuyé, une fonction de gestionnaire appelle CDHtmlDialog ::LoadFromResource pour charger la nouvelle page appropriée.

Parties pertinentes de la déclaration de classe (dans 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
};

Parties pertinentes de l’implémentation de classe (en 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;
}

Hiérarchie d'héritage

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

Spécifications

En-tête : afxdhtml.h

CMultiPageDHtmlDialog ::CMultiPageDHtmlDialog

Construit un objet de boîte de dialogue DHTML multipage (style d’Assistant).

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

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

CMultiPageDHtmlDialog();

Paramètres

lpszTemplateName
Chaîne terminée par null qui est le nom d’une ressource de modèle de boîte de dialogue.

szHtmlResID
Chaîne terminée par null qui est le nom d’une ressource HTML.

pParentWnd
Pointeur vers l’objet de fenêtre parent ou propriétaire (de type CWnd) auquel appartient l’objet de boîte de dialogue. S’il s’agit de NULL, la fenêtre parente de l’objet de boîte de dialogue est définie sur la fenêtre principale de l’application.

nIDTemplate
Contient le numéro d’ID d’une ressource de modèle de boîte de dialogue.

nHtmlResID
Contient le numéro d’ID d’une ressource HTML.

CMultiPageDHtmlDialog ::~CMultiPageDHtmlDialog

Détruit un objet de dialogue DHTML multipage.

virtual ~CMultiPageDHtmlDialog();

Voir aussi

CDHtmlDialog, classe