Aracılığıyla paylaş


CMultiPageDHtmlDialog Sınıfı

Çok sayfalı iletişim kutusu birden çok HTML sayfasını sıralı olarak görüntüler ve her sayfadan olayları işler.

Sözdizimi

class CMultiPageDHtmlDialog : public CDHtmlDialog

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CMultiPageDHtmlDialog::CMultiPageDHtmlDialog Çok sayfalı (sihirbaz stili) bir DHTML iletişim kutusu nesnesi oluşturur.
CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog Çok sayfalı DHTML iletişim kutusu nesnesini yok eder.

Açıklamalar

Bunu yapmanın mekanizması, her sayfa için eklenmiş olay eşlemeleri içeren bir DHTML ve URL olay eşlemesidir.

Örnek

Bu çok sayfalı iletişim kutusu, sihirbaz benzeri basit işlevleri tanımlayan üç HTML kaynağı olduğunu varsayar. İlk sayfada İleri düğmesi, ikincisinde Önceki ve İleri düğmesi, üçüncüsinde ise Önceki düğmesi vardır. Düğmelerden birine basıldığında, işleyici işlevi uygun yeni sayfayı yüklemek için CDHtmlDialog::LoadFromResource çağrısı yapar.

Sınıf bildiriminin ilgili bölümleri (CMyMultiPageDlg.h içinde):

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
};

Sınıf uygulamasının ilgili bölümleri (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;
}

Devralma Hiyerarşisi

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

CMultiPageDHtmlDialog

Gereksinimler

Üst bilgi: afxdhtml.h

CMultiPageDHtmlDialog::CMultiPageDHtmlDialog

Çok sayfalı (sihirbaz stili) bir DHTML iletişim kutusu nesnesi oluşturur.

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

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

CMultiPageDHtmlDialog();

Parametreler

lpszTemplateName
bir iletişim kutusu şablon kaynağının adı olan null ile sonlandırılan dize.

szHtmlResID
BIR HTML kaynağının adı olan null ile sonlandırılan dize.

pParentWnd
İletişim kutusu nesnesinin ait olduğu üst veya sahip pencere nesnesine (CWnd türünde) yönelik bir işaretçi. NULL ise, iletişim kutusu nesnesinin üst penceresi ana uygulama penceresine ayarlanır.

nIDTemplate
İletişim kutusu şablonu kaynağının kimlik numarasını içerir.

nHtmlResID
BIR HTML kaynağının kimlik numarasını içerir.

CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog

Çok sayfalı DHTML iletişim kutusu nesnesini yok eder.

virtual ~CMultiPageDHtmlDialog();

Ayrıca bkz.

CDHtmlDialog Sınıfı