CDHtmlDialog 類別

用來建立使用 HTML 而非對話資源的對話方塊來實作其使用者介面。

語法

class CDHtmlDialog : public CDialog, public CDHtmlEventSink

成員

公用建構函式

名稱 描述
CDHtmlDialog::CDHtmlDialog 建構 CDHtmlDialog 物件。
CDHtmlDialog::~CDHtmlDialog 終結 CDHtmlDialog 物件。

公用方法

名稱 描述
CDHtmlDialog::CanAccessExternal 可覆寫,當做存取檢查呼叫,以查看載入頁面上的腳本物件是否可以存取控制月臺的外部分派。 檢查以確定分派對於腳本而言是安全的,或目前的區域允許不適合編寫腳本的物件。
CDHtmlDialog::CreateControlSite 可覆寫用來建立控制項網站實例,以裝載對話方塊上的 WebBrowser 控制項。
CDHtmlDialog::DDX_DHtml_AxControl 在 HTML 頁面上交換成員變數與 ActiveX 控制項屬性值之間的資料。
CDHtmlDialog::DDX_DHtml_CheckBox 在成員變數與 HTML 頁面上的核取方塊之間交換資料。
CDHtmlDialog::DDX_DHtml_ElementText 在成員變數與 HTML 頁面上的任何 HTML 元素屬性之間交換資料。
CDHtmlDialog::DDX_DHtml_Radio 在成員變數與 HTML 頁面上的選項按鈕之間交換資料。
CDHtmlDialog::DDX_DHtml_SelectIndex 取得或設定 HTML 頁面上清單方塊的索引。
CDHtmlDialog::DDX_DHtml_SelectString 取得或設定 HTML 頁面上清單方塊專案的顯示文字(根據目前索引)。
CDHtmlDialog::DDX_DHtml_SelectValue 取得或設定 HTML 頁面上清單方塊專案的值(根據目前索引)。
CDHtmlDialog::DestroyModeless 終結無強制回應對話方塊。
CDHtmlDialog::EnableModeless 啟用無強制回應對話方塊。
CDHtmlDialog::FilterDataObject 允許對話方塊篩選託管瀏覽器所建立的剪貼簿資料物件。
CDHtmlDialog::GetControlDispatch IDispatch 取內嵌在 HTML 檔案中的 ActiveX 控制項上的介面。
CDHtmlDialog::GetControlProperty 擷取指定之 ActiveX 控制項的要求屬性。
CDHtmlDialog::GetCurrentUrl 擷取與目前檔相關聯的統一資源定位器(URL)。
CDHtmlDialog::GetDHtmlDocument IHTMLDocument2 取目前載入 HTML 檔案上的介面。
CDHtmlDialog::GetDropTarget 當 WebBrowser 控制項作為置放目標時,由包含的 WebBrowser 控制項呼叫,以允許對話方塊提供替代 IDropTarget 的 。
CDHtmlDialog::GetElement 取得 HTML 專案上的介面。
CDHtmlDialog::GetElementHtml innerHTML 取 HTML 專案的 屬性。
CDHtmlDialog::GetElementInterface 從 HTML 專案擷取要求的介面指標。
CDHtmlDialog::GetElementProperty 擷取 HTML 元素的 屬性值。
CDHtmlDialog::GetElementText innerText 取 HTML 專案的 屬性。
CDHtmlDialog::GetEvent IHTMLEventObj取得目前事件物件的指標。
CDHtmlDialog::GetExternal 取得主機的 IDispatch 介面。
CDHtmlDialog::GetHostInfo 擷取主機的 UI 功能。
CDHtmlDialog::GetOptionKeyPath 擷取儲存使用者喜好設定的登錄機碼。
CDHtmlDialog::HideUI 隱藏主機的 UI。
CDHtmlDialog::IsExternalDispatchSafe 指出主機的 IDispatch 介面是否適用于腳本。
CDHtmlDialog::LoadFromResource 將指定的資源載入 WebBrowser 控制項。
CDHtmlDialog::Navigate 巡覽至指定的 URL。
CDHtmlDialog::OnBeforeNavigate 在引發導覽事件之前,由架構呼叫。
CDHtmlDialog::OnDocumentComplete 架構呼叫,以在檔到達 READYSTATE_COMPLETE 狀態時通知應用程式。
CDHtmlDialog::OnDocWindowActivate 啟動或停用文件視窗時,由架構呼叫。
CDHtmlDialog::OnFrameWindowActivate 啟動或停用框架視窗時,由架構呼叫。
CDHtmlDialog::OnInitDialog 呼叫 以回應 WM_INITDIALOG 訊息。
CDHtmlDialog::OnNavigateComplete 在巡覽事件完成之後,由架構呼叫。
CDHtmlDialog::ResizeBorder 警示物件需要調整其框線空間的大小。
CDHtmlDialog::SetControlProperty 將 ActiveX 控制項的 屬性設定為新的值。
CDHtmlDialog::SetElementHtml innerHTML設定 HTML 專案的 屬性。
CDHtmlDialog::SetElementProperty 設定 HTML 專案的 屬性。
CDHtmlDialog::SetElementText innerText設定 HTML 專案的 屬性。
CDHtmlDialog::SetExternalDispatch 設定主機的 IDispatch 介面。
CDHtmlDialog::SetHostFlags 設定主機的 UI 旗標。
CDHtmlDialog::ShowContextMenu 即將顯示操作功能表時呼叫。
CDHtmlDialog::ShowUI 顯示主機的 UI。
CDHtmlDialog::TranslateAccelerator 呼叫 以處理功能表快速鍵訊息。
CDHtmlDialog::TranslateUrl 呼叫 以修改要載入的 URL。
CDHtmlDialog::UpdateUI 呼叫 以通知主機命令狀態已變更。

公用資料成員

名稱 描述
CDHtmlDialog::m_bUseHtmlTitle 指出是否要使用 HTML 檔案的標題作為對話方塊標題。
CDHtmlDialog::m_nHtmlResID 要顯示的 HTML 資源資源資源識別碼。
CDHtmlDialog::m_pBrowserApp 網頁瀏覽器應用程式的指標。
CDHtmlDialog::m_spHtmlDoc HTML 檔案的指標。
CDHtmlDialog::m_strCurrentUrl 目前的 URL。
CDHtmlDialog::m_szHtmlResID HTML 資源識別碼的字串版本。

備註

CDHtmlDialog 可以載入要從 HTML 資源或 URL 顯示的 HTML。

CDHtmlDialog 也可以與 HTML 控制項進行資料交換,以及處理來自 HTML 控制項的事件,例如按鈕點選。

繼承階層架構

CObject

CDHtmlSinkHandlerBase2

CDHtmlSinkHandlerBase1

CCmdTarget

CDHtmlSinkHandler

CWnd

CDHtmlEventSink

CDialog

CDHtmlDialog

需求

標頭:afxdhtml.h

DDX_DHtml Helper 宏

協助 DDX_DHtml 程式宏可讓您輕鬆存取 HTML 頁面上控制項的常用屬性。

Data Exchange 宏

名稱 描述
DDX_DHtml_ElementValue 從選取的控制項設定或擷取 Value 屬性。
DDX_DHtml_ElementInnerText 設定或擷取目前專案開頭和結束記號之間的文字。
DDX_DHtml_ElementInnerHtml 設定或擷取目前專案開頭和結束記號之間的 HTML。
DDX_DHtml_Anchor_Href 設定或擷取目的地 URL 或錨點。
DDX_DHtml_Anchor_Target 設定或擷取目標視窗或框架。
DDX_DHtml_Img_Src 設定或擷取檔中影像或視訊剪輯的名稱。
DDX_DHtml_Frame_Src 設定或擷取相關聯框架的 URL。
DDX_DHtml_IFrame_Src 設定或擷取相關聯框架的 URL。

CDHtmlDialog::CanAccessExternal

可覆寫,當做存取檢查呼叫,以查看載入頁面上的腳本物件是否可以存取控制月臺的外部分派。 檢查以確定分派對於腳本而言是安全的,或目前的區域允許不適合編寫腳本的物件。

virtual BOOL CanAccessExternal();

傳回值

如果成功則為非零;否則為 0。

CDHtmlDialog::CDHtmlDialog

建構以資源為基礎的動態 HTML 對話方塊。

CDHtmlDialog();

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

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

參數

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

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

pParentWnd
對話方塊物件所屬之父視窗物件或擁有者視窗物件的指標。 CWndNULL如果是 ,對話方塊物件的父視窗會設定為主要應用程式視窗。

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

nHtmlResID
包含 HTML 資源的識別碼。

備註

建構函式的第二種形式可透過範本名稱存取對話資源。 建構函式的第三種形式會透過資源範本的識別碼來存取對話資源。 識別碼通常會以前置詞開頭 IDD_

CDHtmlDialog::~CDHtmlDialog

終結 CDHtmlDialog 物件。

virtual ~CDHtmlDialog();

備註

成員 CWnd::DestroyWindow 函式必須用來終結 所 CDialog::Create 建立的無強制回應對話方塊。

CDHtmlDialog::CreateControlSite

可覆寫用來建立控制項網站實例,以裝載對話方塊上的 WebBrowser 控制項。

virtual BOOL CreateControlSite(
    COleControlContainer* pContainer,
    COleControlSite** ppSite,
    UINT /* nID */,
    REFCLSID /* clsid */);

參數

pContainer
COleControlContainer 物件的指標。

ppSite
指向 之指標的 COleControlSite 指標。

傳回值

如果成功則為非零;否則為 0。

備註

您可以覆寫這個成員函式,以傳回您自己的控制項網站類別實例。

CDHtmlDialog::DDX_DHtml_AxControl

在 HTML 頁面上交換成員變數與 ActiveX 控制項屬性值之間的資料。

void DDX_DHtml_AxControl(
    CDataExchange* pDX,
    LPCTSTR szId,
    DISPID dispId,
    VARIANT& var);

void DDX_DHtml_AxControl(
    CDataExchange* pDX,
    LPCTSTR szId,
    LPCTSTR szPropName,
    VARIANT& var);

參數

pDX
CDataExchange 物件的指標。

szId
ActiveX 控制項 HTML 來源中物件標記的 ID 參數值。

dispId
您要交換資料之屬性的分派識別碼。

szPropName
屬性的名稱。

var
類型為 、 COleVariantCComVariant 的資料成員, VARIANT 保留與 ActiveX 控制項屬性交換的值。

範例

// COleVariant m_varSliderValue;
DDX_DHtml_AxControl(pDX, _T("slider1"), 0x0b /* Value */, m_varSliderValue);

CDHtmlDialog::DDX_DHtml_CheckBox

在成員變數與 HTML 頁面上的核取方塊之間交換資料。

void DDX_DHtml_CheckBox(
    CDataExchange* pDX,
    LPCTSTR szId,
    int& value);

參數

pDX
CDataExchange 物件的指標。

szId
您為 HTML 控制項的 ID 參數指定的值。

value
要交換的值。

範例

// int m_nItalic;
DDX_DHtml_CheckBox(pDX, L"italic", m_nItalic);

CDHtmlDialog::DDX_DHtml_ElementText

在成員變數與 HTML 頁面上的任何 HTML 元素屬性之間交換資料。

void DDX_DHtml_ElementText(
    CDataExchange* pDX,
    LPCTSTR szId,
    DISPID dispId,
    CString& value);

void DDX_DHtml_ElementText(
    CDataExchange* pDX,
    LPCTSTR szId,
    DISPID dispId,
    short& value);

void DDX_DHtml_ElementText(
    CDataExchange* pDX,
    LPCTSTR szId,
    DISPID dispId,
    int& value);

void DDX_DHtml_ElementText(
    CDataExchange* pDX,
    LPCTSTR szId,
    DISPID dispId,
    long& value);

void DDX_DHtml_ElementText(
    CDataExchange* pDX,
    LPCTSTR szId,
    DISPID dispId,
    DWORD& value);

void DDX_DHtml_ElementText(
    CDataExchange* pDX,
    LPCTSTR szId,
    DISPID dispId,
    float& value);

void DDX_DHtml_ElementText(
    CDataExchange* pDX,
    LPCTSTR szId,
    DISPID dispId,
    double& value);

參數

pDX
CDataExchange 物件的指標。

szId
您為 HTML 控制項的 ID 參數指定的值。

dispId
您要用來交換資料的 HTML 元素分派識別碼。

value
要交換的值。

CDHtmlDialog::DDX_DHtml_Radio

在成員變數與 HTML 頁面上的選項按鈕之間交換資料。

void DDX_DHtml_Radio(
    CDataExchange* pDX,
    LPCTSTR szId,
    long& value);

參數

pDX
CDataExchange 物件的指標。

szId
您為 HTML 控制項的 ID 參數指定的值。

value
要交換的值。

CDHtmlDialog::DDX_DHtml_SelectIndex

取得或設定 HTML 頁面上清單方塊的索引。

void DDX_DHtml_SelectIndex(
    CDataExchange* pDX,
    LPCTSTR szId,
    long& value);

參數

pDX
CDataExchange 物件的指標。

szId
您為 HTML 控制項參數 id 指定的值。

value
要交換的值。

CDHtmlDialog::DDX_DHtml_SelectString

取得或設定 HTML 頁面上清單方塊專案的顯示文字(根據目前索引)。

void DDX_DHtml_SelectString(
    CDataExchange* pDX,
    LPCTSTR szId,
    CString& value);

參數

pDX
CDataExchange 物件的指標。

szId
您為 HTML 控制項的 ID 參數指定的值。

value
要交換的值。

CDHtmlDialog::DDX_DHtml_SelectValue

取得或設定 HTML 頁面上清單方塊專案的值(根據目前索引)。

void DDX_DHtml_SelectValue(
    CDataExchange* pDX,
    LPCTSTR szId,
    CString& value);

參數

pDX
CDataExchange 物件的指標。

szId
您為 HTML 控制項的 ID 參數指定的值。

value
要交換的值。

範例

// CString m_strBlurDir;
DDX_DHtml_SelectValue(pDX, L"blurDir", m_strBlurDir);

CDHtmlDialog::DestroyModeless

將無強制回應對話方塊與 CDHtmlDialog 物件中斷連結,並終結 物件。

void DestroyModeless();

CDHtmlDialog::EnableModeless

啟用無強制回應對話方塊。

STDMETHOD(EnableModeless)(BOOL fEnable);

參數

fEnable
IDocHostUIHandler::EnableModeless請參閱 fEnable Windows SDK 中的 。

傳回值

傳回 E_NOTIMPL

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::EnableModeless 實作,如 Windows SDK 中所述。

CDHtmlDialog::FilterDataObject

允許對話方塊篩選託管瀏覽器所建立的剪貼簿資料物件。

STDMETHOD(FilterDataObject)(
    IDataObject* pDO,
    IDataObject** ppDORet);

參數

pDO
IDocHostUIHandler::FilterDataObject請參閱 pDO Windows SDK 中的 。

ppDORet
IDocHostUIHandler::FilterDataObject請參閱 ppDORet Windows SDK 中的 。

傳回值

傳回 S_FALSE

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::FilterDataObject 實作,如 Windows SDK 中所述。

CDHtmlDialog::GetControlDispatch

IDispatch擷取內嵌在 HTML 檔案中 GetDHtmlDocument 的 ActiveX 控制項上的介面。

HRESULT GetControlDispatch(
    LPCTSTR szId,
    IDispatch** ppdisp);

參數

szId
ActiveX 控制項的 HTML 識別碼。

ppdisp
IDispatch如果在網頁中找到控制項的介面。

傳回值

標準 HRESULT 值。

CDHtmlDialog::GetControlProperty

擷取指定之 ActiveX 控制項的要求屬性。

VARIANT GetControlProperty(
    LPCTSTR szId,
    LPCTSTR szPropName);

VARIANT GetControlProperty(
    LPCTSTR szId,
    DISPID dispId);

VARIANT GetControlProperty(
    IDispatch* pdispControl,
    DISPID dispId);

參數

szId
ActiveX 控制項的 HTML 識別碼。

szPropName
目前使用者預設地區設定中的屬性名稱。

pdispControl
IDispatchActiveX 控制項的指標。

dispId
屬性的分派識別碼。

傳回值

如果找不到控制項或屬性,則為包含所要求屬性或空白變數的變數。

備註

多載會從最上層的最小效率到底部最有效率的列出。

CDHtmlDialog::GetCurrentUrl

擷取與目前檔相關聯的統一資源定位器(URL)。

void GetCurrentUrl(CString& szUrl);

參數

szUrl
CString物件,包含要擷取的 URL。

CDHtmlDialog::GetDHtmlDocument

IHTMLDocument2 取目前載入 HTML 檔案上的介面。

HRESULT GetDHtmlDocument(IHTMLDocument2 **pphtmlDoc);

參數

**pphtmlDoc HTML 檔案的指標。

傳回值

標準 HRESULT 。 若成功,會傳回 S_OK

CDHtmlDialog::GetDropTarget

當 WebBrowser 控制項作為置放目標時,由包含的 WebBrowser 控制項呼叫,以允許對話方塊提供替代 IDropTarget 的 。

STDMETHOD(GetDropTarget)(
    IDropTarget* pDropTarget,
    IDropTarget** ppDropTarget);

參數

pDropTarget
IDocHostUIHandler::GetDropTarget請參閱 pDropTarget Windows SDK 中的 。

ppDropTarget
IDocHostUIHandler::GetDropTarget請參閱 ppDropTarget Windows SDK 中的 。

傳回值

傳回 E_NOTIMPL

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::GetDropTarget 實作,如 Windows SDK 中所述。

CDHtmlDialog::GetElement

傳回 所 szElementId 指定 HTML 專案上的介面。

HRESULT GetElement(
    LPCTSTR szElementId,
    IDispatch** ppdisp,
    BOOL* pbCollection = NULL);

HRESULT GetElement(
    LPCTSTR szElementId,
    IHTMLElement** pphtmlElement);

參數

szElementId
HTML 專案的識別碼。

ppdisp
IDispatch所要求專案或專案集合的指標。

pbCollection
BOOL,指出 所 ppdisp 表示的物件是否為單一專案或專案集合。

pphtmlElement
IHTMLElement所要求專案的指標。

傳回值

標準 HRESULT 值。

備註

如果您需要處理可能有多個具有指定識別碼的專案的條件,請使用第一個多載。 您可以使用最後一個參數來找出傳回的介面指標是集合或單一專案。 如果介面指標位於集合上,您可以查詢 IHTMLElementCollection ,並使用其 item 屬性依序數位置來參考元素。

如果頁面中有多個具有相同識別碼的專案,則第二個多載將會失敗。

CDHtmlDialog::GetElementHtml

innerHTML 取 所 szElementId 識別之 HTML 專案的 屬性。

BSTR GetElementHtml(LPCTSTR szElementId);

參數

szElementId
HTML 專案的識別碼。

傳回值

innerHTMLszElementId 識別之 HTML 專案的 屬性,如果 NULL 找不到專案,則為 。

CDHtmlDialog::GetElementInterface

從 所 szElementId 識別的 HTML 元素擷取要求的介面指標。

template <class Q> HRESULT GetElementInterface(
    LPCTSTR szElementId,
    Q** ppvObj);

HRESULT GetElementInterface(
    LPCTSTR szElementId,
    REFIID refiid,
    void** ppvObj);

參數

szElementId
HTML 專案的識別碼。

ppvObj
找到專案且查詢成功時,將會填入所要求介面指標的指標位址。

refiid
所要求介面的介面識別碼 (IID)。

傳回值

標準 HRESULT 值。

範例

CComPtr<IHTMLInputButtonElement> spBtn1;
CComPtr<IHTMLInputButtonElement> spBtn2;
HRESULT hr = S_OK;

// Use the template overload
hr = GetElementInterface(L"Button1", &spBtn1);

// Use the nontemplate overload
hr = GetElementInterface(L"Button1", IID_IHTMLInputButtonElement,
                         reinterpret_cast<void **>(&spBtn2));

CDHtmlDialog::GetElementProperty

從 所 szElementId 識別的 HTML 專案擷取 所 dispId 識別的 屬性值。

VARIANT GetElementProperty(
    LPCTSTR szElementId,
    DISPID dispId);

參數

szElementId
HTML 專案的識別碼。

dispId
屬性的分派識別碼。

傳回值

如果找不到屬性或專案,則屬性值或空白變數。

CDHtmlDialog::GetElementText

innerText 取 所 szElementId 識別之 HTML 專案的 屬性。

BSTR GetElementText(LPCTSTR szElementId);

參數

szElementId
HTML 專案的識別碼。

傳回值

innerTextszElementIdNULL 識別之 HTML 專案的 屬性,如果找不到屬性或專案,則為 。

CDHtmlDialog::GetEvent

IHTMLEventObj 回目前事件物件的指標。

HRESULT GetEvent(IHTMLEventObj** ppEventObj);

參數

ppEventObj
將填入介面指標的 IHTMLEventObj 指標位址。

傳回值

標準 HRESULT 值。

備註

此函式只能從 DHTML 事件處理常式內呼叫。

CDHtmlDialog::GetExternal

取得主機的 IDispatch 介面。

STDMETHOD(GetExternal)(IDispatch** ppDispatch);

參數

ppDispatch
IDocHostUIHandler::GetExternal請參閱 ppDispatch Windows SDK 中的 。

傳回值

S_OK在成功或 E_NOTIMPL 失敗時傳回 。

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::GetExternal 實作,如 Windows SDK 中所述。

CDHtmlDialog::GetHostInfo

擷取主機的 UI 功能。

STDMETHOD(GetHostInfo)(DOCHOSTUIINFO* pInfo);

參數

pInfo
IDocHostUIHandler::GetHostInfo請參閱 pInfo Windows SDK 中的 。

傳回值

傳回 S_OK

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::GetHostInfo 實作,如 Windows SDK 中所述。

CDHtmlDialog::GetOptionKeyPath

擷取儲存使用者喜好設定的登錄機碼。

STDMETHOD(GetOptionKeyPath)(
    LPOLESTR* pchKey,
    DWORD dw);

參數

pchKey
IDocHostUIHandler::GetOptionKeyPath請參閱 pchKey Windows SDK 中的 。

dw
IDocHostUIHandler::GetOptionKeyPath請參閱 dw Windows SDK 中的 。

傳回值

傳回 E_NOTIMPL

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::GetOptionKeyPath 實作,如 Windows SDK 中所述。

CDHtmlDialog::HideUI

隱藏主機的 UI。

STDMETHOD(HideUI)(void);

傳回值

傳回 E_NOTIMPL

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::HideUI 實作,如 Windows SDK 中所述。

CDHtmlDialog::IsExternalDispatchSafe

指出主機的 IDispatch 介面是否適用于腳本。

virtual BOOL IsExternalDispatchSafe();

傳回值

傳回 FALSE

CDHtmlDialog::LoadFromResource

將指定的資源載入 DHTML 對話方塊中的 WebBrowser 控制項。

BOOL LoadFromResource(LPCTSTR lpszResource);
BOOL LoadFromResource(UINT nRes);

參數

lpszResource
字串的指標,其中包含要載入的資源名稱。

nRes
要載入之資源的識別碼。

傳回值

如果成功,則為 TRUE,否則為 FALSE

CDHtmlDialog::m_bUseHtmlTitle

指出是否要使用 HTML 檔案的標題作為對話方塊標題。

BOOL m_bUseHtmlTitle;

備註

如果 m_bUseHtmlTitleTRUE ,則對話方塊標題會設定為等於 HTML 檔案的標題,否則會使用對話資源中的標題。

CDHtmlDialog::m_nHtmlResID

要顯示的 HTML 資源資源資源識別碼。

UINT m_nHtmlResID;

範例

CDHtmlDialog mydialog(IDD_MYDHTMLDLG);
mydialog.m_nHtmlResID = IDR_HTML_MYDHTMLDLG;
mydialog.DoModal();

CDHtmlDialog::m_pBrowserApp

網頁瀏覽器應用程式的指標。

CComPtr <IWebBrowser2> m_pBrowserApp;

CDHtmlDialog::m_spHtmlDoc

HTML 檔案的指標。

CComPtr<IHTMLDocument2> m_spHtmlDoc;

CDHtmlDialog::m_strCurrentUrl

目前的 URL。

CString m_strCurrentUrl;

CDHtmlDialog::m_szHtmlResID

HTML 資源識別碼的字串版本。

LPTSTR m_szHtmlResID;

範例

CDHtmlDialog mydialog(IDD_MYDHTMLDLG);
TCHAR szResID[] = _T("HTML_PAGE");
mydialog.m_szHtmlResID = szResID;
mydialog.DoModal();

巡覽至 所指定 lpszURL URL 所識別的資源。

void Navigate(
    LPCTSTR lpszURL,
    DWORD dwFlags = 0,
    LPCTSTR lpszTargetFrameName = NULL,
    LPCTSTR lpszHeaders = NULL,
    LPVOID lpvPostData = NULL,
    DWORD dwPostDataLen = 0);

參數

lpszURL
字串的指標,其中包含要設為目標的 URL。

dwFlags
變數的旗標,指定是否要將資源新增至歷程記錄清單、是否要讀取至快取或從快取寫入,以及是否要在新的視窗中顯示資源。 變數可以是 列舉所 BrowserNavConstants 定義的值組合。

lpszTargetFrameName
字串的指標,其中包含要在其中顯示資源的框架名稱。

lpszHeaders
值的指標,指定要傳送至伺服器的 HTTP 標頭。 這些標頭會新增至預設 Internet Explorer 標頭。 標頭可以指定這類資訊,例如伺服器所需的動作、要傳遞至伺服器的資料類型,或狀態碼。 如果 URL 不是 HTTP URL,則會忽略此參數。

lpvPostData
要與 HTTP POST 交易一起傳送之資料的指標。 例如,POST 交易是用來傳送 HTML 表單所收集的資料。 如果此參數未指定任何張貼資料, Navigate 請發出 HTTP GET 交易。 如果 URL 不是 HTTP URL,則會忽略此參數。

dwPostDataLen
要與 HTTP POST 交易一起傳送的資料。 例如,POST 交易是用來傳送 HTML 表單所收集的資料。 如果此參數未指定任何張貼資料, Navigate 請發出 HTTP GET 交易。 如果 URL 不是 HTTP URL,則會忽略此參數。

CDHtmlDialog::OnBeforeNavigate

由架構呼叫,以在巡覽發生之前引發事件。

virtual void OnBeforeNavigate(
    LPDISPATCH pDisp,
    LPCTSTR szUrl);

參數

pDisp
IDispatch 物件的指標。

szUrl
字串的指標,其中包含要巡覽至的 URL。

CDHtmlDialog::OnDocumentComplete

架構呼叫,以在檔達到 READYSTATE_COMPLETE 狀態時通知應用程式。

virtual void OnDocumentComplete(
    LPDISPATCH pDisp,
    LPCTSTR szUrl);

參數

pDisp
IDispatch 物件的指標。

szUrl
字串的指標,其中包含巡覽至的 URL。

CDHtmlDialog::OnDocWindowActivate

啟動或停用文件視窗時,由架構呼叫。

STDMETHOD(OnDocWindowActivate)(BOOL fActivate);

參數

fActivate
IDocHostUIHandler::OnDocWindowActivate請參閱 fActivate Windows SDK 中的 。

傳回值

傳回 E_NOTIMPL

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::OnDocWindowActivate 實作,如 Windows SDK 中所述。

CDHtmlDialog::OnFrameWindowActivate

啟動或停用框架視窗時,由架構呼叫。

STDMETHOD(OnFrameWindowActivate)(BOOL fActivate);

參數

fActivate
IDocHostUIHandler::OnFrameWindowActivate請參閱 fActivate Windows SDK 中的 。

傳回值

傳回 E_NOTIMPL

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::OnFrameWindowActivate 實作,如 Windows SDK 中所述。

CDHtmlDialog::OnInitDialog

呼叫 以回應 WM_INITDIALOG 訊息。

virtual BOOL OnInitDialog();

傳回值

預設實作會傳回 TRUE

備註

此訊息會在 、 CreateIndirectDoModal 呼叫期間 Create 傳送至對話方塊,該對話方塊會在顯示對話方塊之前立即發生。

如果您需要在初始化對話方塊時執行特殊處理,請覆寫此成員函式。 在覆寫的版本中,先呼叫基類 OnInitDialog ,但忽略其傳回值。 您通常會從覆寫的成員函式傳回 TRUE

OnInitDialogWindows 會透過所有 Microsoft Foundation Class Library 對話方塊通用的標準全域對話方塊程式呼叫 函式,而不是透過訊息對應,因此您不需要此成員函式的訊息對應專案。

CDHtmlDialog::OnNavigateComplete

巡覽至指定 URL 之後,由架構呼叫。

virtual void OnNavigateComplete(
    LPDISPATCH pDisp,
    LPCTSTR szUrl);

參數

pDisp
IDispatch 物件的指標。

szUrl
字串的指標,其中包含巡覽至的 URL。

CDHtmlDialog::ResizeBorder

警示物件需要調整其框線空間的大小。

STDMETHOD(ResizeBorder)(
    LPCRECT prcBorder,
    IOleInPlaceUIWindow* pUIWindow,
    BOOL fRameWindow);

參數

prcBorder
IDocHostUIHandler::ResizeBorder請參閱 prcBorder Windows SDK 中的 。

pUIWindow
IDocHostUIHandler::ResizeBorder請參閱 pUIWindow Windows SDK 中的 。

fFrameWindow
IDocHostUIHandler::ResizeBorder請參閱 fFrameWindow Windows SDK 中的 。

傳回值

傳回E_NOTIMPL。

CDHtmlDialog::SetControlProperty

將 ActiveX 控制項的 屬性設定為新的值。

void SetControlProperty(
    LPCTSTR szElementId,
    DISPID dispId,
    VARIANT* pVar);

void SetControlProperty(
    IDispatch* pdispControl,
    DISPID dispId,
    VARIANT* pVar);

void SetControlProperty(
    LPCTSTR szElementId,
    LPCTSTR szPropName,
    VARIANT* pVar);

參數

szElementId
ActiveX 控制項的 HTML 識別碼。

dispId
要設定之屬性的分派識別碼。

pVar
VARIANT包含新屬性值的 指標。

pdispControl
ActiveX 控制項介面的 IDispatch 指標。

szPropName
包含要設定之屬性名稱的字串。

CDHtmlDialog::SetElementHtml

innerHTML設定 HTML 專案的 屬性。

void SetElementHtml(
    LPCTSTR szElementId,
    BSTR bstrText);

void SetElementHtml(
    IUnknown* punkElem,
    BSTR bstrText);

參數

szElementId
HTML 專案的識別碼。

bstrText
innerHTML 屬性的新值。

punkElem
IUnknownHTML 專案的指標。

CDHtmlDialog::SetElementProperty

設定 HTML 專案的 屬性。

void SetElementProperty(
    LPCTSTR szElementId,
    DISPID dispId,
    VARIANT* pVar);

參數

szElementId
HTML 專案的識別碼。

dispId
要設定之屬性的分派識別碼。

pVar
屬性的新值。

CDHtmlDialog::SetElementText

innerText設定 HTML 專案的 屬性。

void SetElementText(
    LPCTSTR szElementId,
    BSTR bstrText);

void SetElementText(
    IUnknown* punkElem,
    BSTR bstrText);

參數

szElementId
HTML 專案的識別碼。

bstrText
innerText 屬性的新值。

punkElem
IUnknownHTML 專案的指標。

CDHtmlDialog::SetExternalDispatch

設定主機的 IDispatch 介面。

void SetExternalDispatch(IDispatch* pdispExternal);

參數

pdispExternal
新的 IDispatch 介面。

CDHtmlDialog::SetHostFlags

設定主機 UI 旗標。

void SetHostFlags(DWORD dwFlags);

參數

dwFlags
如需可能的值,請參閱 DOCHOSTUIFLAG Windows SDK 中的 。

CDHtmlDialog::ShowContextMenu

即將顯示操作功能表時呼叫。

STDMETHOD(ShowContextMenu)(
    DWORD dwID,
    POINT* ppt,
    IUnknown* pcmdtReserved,
    IDispatch* pdispReserved);

參數

dwID
IDocHostUIHandler::ShowContextMenu請參閱 dwID Windows SDK 中的 。

ppt
IDocHostUIHandler::ShowContextMenu請參閱 ppt Windows SDK 中的 。

pcmdtReserved
IDocHostUIHandler::ShowContextMenu請參閱 pcmdtReserved Windows SDK 中的 。

pdispReserved
IDocHostUIHandler::ShowContextMenu請參閱 pdispReserved Windows SDK 中的 。

傳回值

傳回 S_FALSE

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::ShowContextMenu 實作,如 Windows SDK 中所述。

CDHtmlDialog::ShowUI

顯示主機的 UI。

STDMETHOD(ShowUI)(
    DWORD dwID,
    IOleInPlaceActiveObject* pActiveObject,
    IOleCommandTarget* pCommandTarget,
    IOleInPlaceFrame* pFrame,
    IOleInPlaceUIWindow* pDoc);

參數

dwID
IDocHostUIHandler::ShowUI請參閱 dwID Windows SDK 中的 。

pActiveObject
IDocHostUIHandler::ShowUI請參閱 pActiveObject Windows SDK 中的 。

pCommandTarget
IDocHostUIHandler::ShowUI請參閱 pCommandTarget Windows SDK 中的 。

pFrame
IDocHostUIHandler::ShowUI請參閱 pFrame Windows SDK 中的 。

pDoc
IDocHostUIHandler::ShowUI請參閱 pDoc Windows SDK 中的 。

傳回值

傳回 S_FALSE

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::ShowUI 實作,如 Windows SDK 中所述。

CDHtmlDialog::TranslateAccelerator

呼叫 以處理功能表快速鍵訊息。

STDMETHOD(TranslateAccelerator)(
    LPMSG lpMsg,
    const GUID* pguidCmdGroup,
    DWORD nCmdID);

參數

lpMsg
IDocHostUIHandler::TranslateAccelerator請參閱 lpMsg Windows SDK 中的 。

pguidCmdGroup
IDocHostUIHandler::TranslateAccelerator請參閱 pguidCmdGroup Windows SDK 中的 。

nCmdID
IDocHostUIHandler::TranslateAccelerator請參閱 nCmdID Windows SDK 中的 。

傳回值

傳回 S_FALSE

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::TranslateAccelerator 實作,如 Windows SDK 中所述。

CDHtmlDialog::TranslateUrl

呼叫 以修改要載入的 URL。

STDMETHOD(TranslateUrl)(
    DWORD dwTranslate,
    OLECHAR* pchURLIn,
    OLECHAR** ppchURLOut);

參數

dwTranslate
IDocHostUIHandler::TranslateUrl請參閱 dwTranslate Windows SDK 中的 。

pchURLIn
IDocHostUIHandler::TranslateUrl請參閱 pchURLIn Windows SDK 中的 。

ppchURLOut
IDocHostUIHandler::TranslateUrl請參閱 ppchURLOut Windows SDK 中的 。

傳回值

傳回 S_FALSE

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::TranslateUrl 實作,如 Windows SDK 中所述。

CDHtmlDialog::UpdateUI

呼叫 以通知主機命令狀態已變更。

STDMETHOD(UpdateUI)(void);

傳回值

傳回 E_NOTIMPL

備註

此成員函式是 CDHtmlDialogIDocHostUIHandler::UpdateUI 實作,如 Windows SDK 中所述。

另請參閱

MFC 範例 DHtmlExplore
DDX_DHtml Helper 宏
階層架構圖表