다음을 통해 공유


CMultiPageDHtmlDialog 클래스

여러 페이지로 구성 된 대화 상자 순차적으로 여러 HTML 페이지를 표시 하 고 각 페이지에서 이벤트 처리.

class CMultiPageDHtmlDialog : public CDHtmlDialog

멤버

Public 생성자

Name

설명

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

여러 페이지 (마법사 스타일) DHTML dialog 개체를 만듭니다.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

여러 페이지로 된 DHTML dialog 개체를 소멸 시킵니다.

설명

이 작업을 수행 하는 메커니즘입니다는 URL 및 DHTML 이벤트 맵, 포함 된 포함 된 이벤트 맵 각 페이지에 대 한.

예제

간단한 마법사와 비슷한 기능을 정의 하는 HTML 리소스 세이 여러 페이지로 구성 된 대화 상자를 가정 합니다. 첫 페이지는 Next 단추, 두 번째는 이전 및 Next 단추 및 세 번째는 이전 단추. 처리기 함수를 호출 하는 단추 중 하나를 누를 때 CDHtmlDialog::LoadFromResource 적절 한 새 페이지를 로드 합니다.

클래스 선언 (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

클래스 구현 (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;
}

상속 계층 구조

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

요구 사항

헤더: afxdhtml.h

참고 항목

참조

CDHtmlDialog 클래스

기타 리소스

Multipage DHTML and URL Event Maps