分享方式:


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
IDispatch ActiveX 控件的指標。

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();

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

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

OnInitDialog Windows 會透過所有Microsoft基礎類別庫對話框通用的標準全域對話框程式呼叫 函式,而不是透過訊息對應,因此您不需要此成員函式的訊息對應專案。

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
IUnknown HTML 專案的指標。

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
IUnknown HTML 專案的指標。

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 宏
階層架構圖表