分享方式:


CMultiPageDHtmlDialog 類別

多頁對話方塊會循序顯示多個 HTML 網頁並處理來自每頁的事件。

語法

class CMultiPageDHtmlDialog : public CDHtmlDialog

成員

公用建構函式

名稱 描述
CMultiPageDHtmlDialog::CMultiPageDHtmlDialog 建構多頁 (精靈樣式) DHTML 對話框物件。
CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog 終結多頁 DHTML 對話框物件。

備註

執行此動作的機制是 DHTML 和 URL 事件對應,其中包含每個頁面的內嵌事件對應。

範例

此多頁對話框假設有三個 HTML 資源定義簡單的類似精靈的功能。 第一頁有 [下一步] 按鈕、第二個 [上一頁] 和 [下一步] 按鈕,第三個是 [上一頁] 按鈕。 按下其中一個按鈕時,處理程式函式會呼叫 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

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

建構多頁 (精靈樣式) DHTML 對話框物件。

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

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

CMultiPageDHtmlDialog();

參數

lpszTemplateName
以 Null 結尾的字串,這是對話框範本資源的名稱。

szHtmlResID
以 Null 結尾的字串,這是 HTML 資源的名稱。

pParentWnd
對話框物件所屬父視窗對象或擁有者視窗物件的指標(屬於 CWnd 類型)。 如果是 NULL,對話框物件的父視窗會設定為主要應用程式視窗。

nIDTemplate
包含對話框範本資源的識別碼。

nHtmlResID
包含 HTML 資源的識別碼。

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

終結多頁 DHTML 對話框物件。

virtual ~CMultiPageDHtmlDialog();

另請參閱

CDHtmlDialog 類別