CDHtmlDialog
类
用于创建使用 HTML 而非对话框资源来实现用户界面的对话框。
语法
class CDHtmlDialog : public CDialog, public CDHtmlEventSink
成员
公共构造函数
名称 | 描述 |
---|---|
CDHtmlDialog::CDHtmlDialog |
构造 CDHtmlDialog 对象。 |
CDHtmlDialog::~CDHtmlDialog |
销毁 CDHtmlDialog 对象。 |
公共方法
公共数据成员
“属性” | 描述 |
---|---|
CDHtmlDialog::m_bUseHtmlTitle |
指示是否使用 HTML 文档的标题作为对话框标题。 |
CDHtmlDialog::m_nHtmlResID |
要显示的 HTML 资源的资源 ID。 |
CDHtmlDialog::m_pBrowserApp |
指向 Web 浏览器应用程序的指针。 |
CDHtmlDialog::m_spHtmlDoc |
指向 HTML 文档的指针。 |
CDHtmlDialog::m_strCurrentUrl |
当前 URL。 |
CDHtmlDialog::m_szHtmlResID |
HTML 资源 ID 的字符串版本。 |
备注
CDHtmlDialog
可从 HTML 资源或 URL 加载要显示的 HTML。
CDHtmlDialog
还可以与 HTML 控件进行数据交换并处理来自 HTML 控件的事件,例如按钮单击。
继承层次结构
CDHtmlSinkHandlerBase2
CDHtmlSinkHandlerBase1
CDHtmlSinkHandler
CDHtmlEventSink
CDHtmlDialog
要求
标头:afxdhtml.h
DDX_DHtml
帮助程序宏
通过 DDX_DHtml
帮助程序宏,可轻松访问 HTML 页面上控件的常用属性。
数据交换宏
名称 | 描述 |
---|---|
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;否则为 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
指向对话框对象所属的父窗口对象或所有者窗口对象(类型为 CWnd
)的指针。 如果为 NULL
,则对话框对象的父窗口设置为主应用程序窗口。
nIDTemplate
包含对话框模板资源的 ID 号码。
nHtmlResID
包含 HTML 资源的 ID 编号。
注解
构造函数的第二种形式是通过模板名称来访问对话框资源。 构造函数的第三种形式通过资源模板的 ID 来访问对话框资源。 通常,ID 以 IDD_
前缀开头。
CDHtmlDialog::~CDHtmlDialog
销毁 CDHtmlDialog
对象。
virtual ~CDHtmlDialog();
备注
必须使用 CWnd::DestroyWindow
成员函数来销毁由 CDialog::Create
创建的无模式对话框。
CDHtmlDialog::CreateControlSite
可重写,用于创建控件站点实例以托管对话框上的 WebBrowse 控件。
virtual BOOL CreateControlSite(
COleControlContainer* pContainer,
COleControlSite** ppSite,
UINT /* nID */,
REFCLSID /* clsid */);
参数
pContainer
指向 COleControlContainer
对象的指针。
ppSite
指向 COleControlSite
的指针的指针。
返回值
如果成功,则不为 0;否则为 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
要交换数据的属性的调度 ID。
szPropName
属性的名称。
var
VARIANT
、COleVariant
或 CComVariant
类型的数据成员,它保存与 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 元素的调度 ID。
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
请参阅 Windows SDK 中 IDocHostUIHandler::EnableModeless
中的 fEnable
。
返回值
返回 E_NOTIMPL
。
备注
此成员函数是 IDocHostUIHandler::EnableModeless
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::FilterDataObject
允许对话框筛选由托管浏览器创建的剪贴板数据对象。
STDMETHOD(FilterDataObject)(
IDataObject* pDO,
IDataObject** ppDORet);
参数
pDO
请参阅 Windows SDK 中 IDocHostUIHandler::FilterDataObject
中的 pDO
。
ppDORet
请参阅 Windows SDK 中 IDocHostUIHandler::FilterDataObject
中的 ppDORet
。
返回值
返回 S_FALSE
。
备注
此成员函数是 IDocHostUIHandler::FilterDataObject
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::GetControlDispatch
检索 GetDHtmlDocument
返回的 HTML 文档中嵌入的 ActiveX 控件上的 IDispatch
接口。
HRESULT GetControlDispatch(
LPCTSTR szId,
IDispatch** ppdisp);
参数
szId
ActiveX 控件的 HTML ID。
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 ID。
szPropName
当前用户的默认区域设置中属性的名称。
pdispControl
指向 ActiveX 控件的 IDispatch
指针。
dispId
属性的调度 ID。
返回值
包含请求的属性的变量;如果找不到控件或属性,则为空变量。
备注
重载按顶部(效率最低)到底部(效率最高)的顺序列出。
CDHtmlDialog::GetCurrentUrl
检索与当前文档关联的统一资源定位器 (URL)。
void GetCurrentUrl(CString& szUrl);
参数
szUrl
包含要检索的 URL 的 CString
对象。
CDHtmlDialog::GetDHtmlDocument
检索当前加载的 HTML 文档中的 IHTMLDocument2
接口。
HRESULT GetDHtmlDocument(IHTMLDocument2 **pphtmlDoc);
参数
**pphtmlDoc
:指向 HTML 文档的指针的指针。
返回值
一个标准 HRESULT
。 如果成功,则返回 S_OK
。
CDHtmlDialog::GetDropTarget
由包含的 WebBrowser 控件在用作放置目标以允许对话框提供替代 IDropTarget
时调用。
STDMETHOD(GetDropTarget)(
IDropTarget* pDropTarget,
IDropTarget** ppDropTarget);
参数
pDropTarget
请参阅 Windows SDK 中 IDocHostUIHandler::GetDropTarget
中的 pDropTarget
。
ppDropTarget
请参阅 Windows SDK 中 IDocHostUIHandler::GetDropTarget
中的 ppDropTarget
。
返回值
返回 E_NOTIMPL
。
备注
此成员函数是 IDocHostUIHandler::GetDropTarget
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::GetElement
返回由 szElementId
指定的 HTML 元素的接口。
HRESULT GetElement(
LPCTSTR szElementId,
IDispatch** ppdisp,
BOOL* pbCollection = NULL);
HRESULT GetElement(
LPCTSTR szElementId,
IHTMLElement** pphtmlElement);
参数
szElementId
HTML 元素的 ID。
ppdisp
指向所请求元素或元素集合的 IDispatch
指针。
pbCollection
一个 BOOL
,它指示 ppdisp
表示的对象是单个元素还是元素集合。
pphtmlElement
指向所请求的元素的 IHTMLElement
指针。
返回值
标准 HRESULT
值。
注解
如果需要处理多个元素可能具有指定 ID 的情况,请使用第一个重载。 可使用最后一个参数来确定返回的接口指针是指向集合还是单个项。 如果接口指针位于集合上,可查询 IHTMLElementCollection
并使用其 item
属性按序号位置引用元素。
如果页面中有多个元素具有同一 ID,则第二个重载将失败。
CDHtmlDialog::GetElementHtml
检索由 szElementId
标识的 HTML 元素的 innerHTML
属性。
BSTR GetElementHtml(LPCTSTR szElementId);
参数
szElementId
HTML 元素的 ID。
返回值
由 szElementId
标识的 HTML 元素的 innerHTML
属性;如果找不到该元素,则为 NULL
。
CDHtmlDialog::GetElementInterface
从 szElementId
标识的 HTML 元素中检索请求的接口指针。
template <class Q> HRESULT GetElementInterface(
LPCTSTR szElementId,
Q** ppvObj);
HRESULT GetElementInterface(
LPCTSTR szElementId,
REFIID refiid,
void** ppvObj);
参数
szElementId
HTML 元素的 ID。
ppvObj
一个指针的地址,如果找到元素且查询成功,则该指针用请求的接口指针填充。
refiid
请求的接口的接口 ID (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 元素的 ID。
dispId
属性的调度 ID。
返回值
属性的值;如果找不到该属性或元素,则为空变量。
CDHtmlDialog::GetElementText
检索由 szElementId
标识的 HTML 元素的 innerText
属性。
BSTR GetElementText(LPCTSTR szElementId);
参数
szElementId
HTML 元素的 ID。
返回值
由 szElementId
标识的 HTML 元素的 innerText
属性;如果找不到该属性或元素,则为 NULL
。
CDHtmlDialog::GetEvent
返回指向当前事件对象的 IHTMLEventObj
指针。
HRESULT GetEvent(IHTMLEventObj** ppEventObj);
参数
ppEventObj
将用 IHTMLEventObj
接口指针填充的指针的地址。
返回值
标准 HRESULT
值。
备注
只能在 DHTML 事件处理程序中调用此函数。
CDHtmlDialog::GetExternal
获取主机的 IDispatch
接口。
STDMETHOD(GetExternal)(IDispatch** ppDispatch);
参数
ppDispatch
请参阅 Windows SDK 中 IDocHostUIHandler::GetExternal
中的 ppDispatch
。
返回值
成功时返回 S_OK
,失败时返回 E_NOTIMPL
。
备注
此成员函数是 IDocHostUIHandler::GetExternal
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::GetHostInfo
检索主机的 UI 功能。
STDMETHOD(GetHostInfo)(DOCHOSTUIINFO* pInfo);
参数
pInfo
请参阅 Windows SDK 中 IDocHostUIHandler::GetHostInfo
中的 pInfo
。
返回值
返回 S_OK
。
备注
此成员函数是 IDocHostUIHandler::GetHostInfo
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::GetOptionKeyPath
检索在其下存储用户首选项的注册表项。
STDMETHOD(GetOptionKeyPath)(
LPOLESTR* pchKey,
DWORD dw);
参数
pchKey
请参阅 Windows SDK 中 IDocHostUIHandler::GetOptionKeyPath
中的 pchKey
。
dw
请参阅 Windows SDK 中 IDocHostUIHandler::GetOptionKeyPath
中的 dw
。
返回值
返回 E_NOTIMPL
。
备注
此成员函数是 IDocHostUIHandler::GetOptionKeyPath
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::HideUI
隐藏主机的 UI。
STDMETHOD(HideUI)(void);
返回值
返回 E_NOTIMPL
。
备注
此成员函数是 IDocHostUIHandler::HideUI
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::IsExternalDispatchSafe
指示主机的 IDispatch
接口是否可用于安全进行脚本编写。
virtual BOOL IsExternalDispatchSafe();
返回值
返回 FALSE
。
CDHtmlDialog::LoadFromResource
将指定的资源加载到 DHTML 对话框中的 WebBrowser 控件中。
BOOL LoadFromResource(LPCTSTR lpszResource);
BOOL LoadFromResource(UINT nRes);
参数
lpszResource
指向包含要加载的资源名称的字符串的指针。
nRes
要加载的资源的 ID。
返回值
如果成功,则返回 TRUE
;否则返回 FALSE
。
CDHtmlDialog::m_bUseHtmlTitle
指示是否使用 HTML 文档的标题作为对话框标题。
BOOL m_bUseHtmlTitle;
备注
如果 m_bUseHtmlTitle
为 TRUE
,则对话框标题将设置为 HTML 文档的标题;否则,将使用对话框资源中的标题。
CDHtmlDialog::m_nHtmlResID
要显示的 HTML 资源的资源 ID。
UINT m_nHtmlResID;
示例
CDHtmlDialog mydialog(IDD_MYDHTMLDLG);
mydialog.m_nHtmlResID = IDR_HTML_MYDHTMLDLG;
mydialog.DoModal();
CDHtmlDialog::m_pBrowserApp
指向 Web 浏览器应用程序的指针。
CComPtr <IWebBrowser2> m_pBrowserApp;
CDHtmlDialog::m_spHtmlDoc
指向 HTML 文档的指针。
CComPtr<IHTMLDocument2> m_spHtmlDoc;
CDHtmlDialog::m_strCurrentUrl
当前 URL。
CString m_strCurrentUrl;
CDHtmlDialog::m_szHtmlResID
HTML 资源 ID 的字符串版本。
LPTSTR m_szHtmlResID;
示例
CDHtmlDialog mydialog(IDD_MYDHTMLDLG);
TCHAR szResID[] = _T("HTML_PAGE");
mydialog.m_szHtmlResID = szResID;
mydialog.DoModal();
CDHtmlDialog::Navigate
导航到由 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
请参阅 Windows SDK 中 IDocHostUIHandler::OnDocWindowActivate
中的 fActivate
。
返回值
返回 E_NOTIMPL
。
备注
此成员函数是 IDocHostUIHandler::OnDocWindowActivate
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::OnFrameWindowActivate
当激活或停用框架窗口时,由框架调用。
STDMETHOD(OnFrameWindowActivate)(BOOL fActivate);
参数
fActivate
请参阅 Windows SDK 中 IDocHostUIHandler::OnFrameWindowActivate
中的 fActivate
。
返回值
返回 E_NOTIMPL
。
备注
此成员函数是 IDocHostUIHandler::OnFrameWindowActivate
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::OnInitDialog
调用以响应 WM_INITDIALOG
消息。
virtual BOOL OnInitDialog();
返回值
默认实现返回 TRUE
。
备注
此消息在 Create
、CreateIndirect
或 DoModal
调用期间发送到对话框,且恰好在显示对话框之前发送。
如果需要在初始化对话框时进行特殊处理,请替代此成员函数。 在替代后的版本中,首先调用基类 OnInitDialog
,但忽略其返回值。 通常会从替代后的成员函数中返回 TRUE
。
Windows 通过所有 Microsoft 基础类库对话框通用的标准全局对话框过程(而非通过消息映射)调用 OnInitDialog
函数,因此不需要用到此成员函数的消息映射项。
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
请参阅 Windows SDK 中 IDocHostUIHandler::ResizeBorder
中的 prcBorder
。
pUIWindow
请参阅 Windows SDK 中 IDocHostUIHandler::ResizeBorder
中的 pUIWindow
。
fFrameWindow
请参阅 Windows SDK 中 IDocHostUIHandler::ResizeBorder
中的 fFrameWindow
。
返回值
返回 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 ID。
dispId
要设置的属性的调度 ID。
pVar
指向包含新属性值的 VARIANT
的指针。
pdispControl
指向 ActiveX 控件的 IDispatch
接口的指针。
szPropName
包含要设置的属性名称的字符串。
CDHtmlDialog::SetElementHtml
设置 HTML 元素的 innerHTML
属性。
void SetElementHtml(
LPCTSTR szElementId,
BSTR bstrText);
void SetElementHtml(
IUnknown* punkElem,
BSTR bstrText);
参数
szElementId
HTML 元素的 ID。
bstrText
innerHTML
属性的新值。
punkElem
HTML 元素的 IUnknown
指针。
CDHtmlDialog::SetElementProperty
设置 HTML 元素的属性。
void SetElementProperty(
LPCTSTR szElementId,
DISPID dispId,
VARIANT* pVar);
参数
szElementId
HTML 元素的 ID。
dispId
要设置的属性的调度 ID。
pVar
属性的新值。
CDHtmlDialog::SetElementText
设置 HTML 元素的 innerText
属性。
void SetElementText(
LPCTSTR szElementId,
BSTR bstrText);
void SetElementText(
IUnknown* punkElem,
BSTR bstrText);
参数
szElementId
HTML 元素的 ID。
bstrText
innerText
属性的新值。
punkElem
HTML 元素的 IUnknown
指针。
CDHtmlDialog::SetExternalDispatch
设置主机的 IDispatch
接口。
void SetExternalDispatch(IDispatch* pdispExternal);
参数
pdispExternal
新的 IDispatch
接口。
CDHtmlDialog::SetHostFlags
设置主机 UI 标志。
void SetHostFlags(DWORD dwFlags);
参数
dwFlags
有关可能的值,请参阅 Windows SDK 中的 DOCHOSTUIFLAG
。
CDHtmlDialog::ShowContextMenu
即将显示上下文菜单时调用。
STDMETHOD(ShowContextMenu)(
DWORD dwID,
POINT* ppt,
IUnknown* pcmdtReserved,
IDispatch* pdispReserved);
参数
dwID
请参阅 Windows SDK 中 IDocHostUIHandler::ShowContextMenu
中的 dwID
。
ppt
请参阅 Windows SDK 中 IDocHostUIHandler::ShowContextMenu
中的 ppt
。
pcmdtReserved
请参阅 Windows SDK 中 IDocHostUIHandler::ShowContextMenu
中的 pcmdtReserved
。
pdispReserved
请参阅 Windows SDK 中 IDocHostUIHandler::ShowContextMenu
中的 pdispReserved
。
返回值
返回 S_FALSE
。
备注
此成员函数是 IDocHostUIHandler::ShowContextMenu
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::ShowUI
显示主机的 UI。
STDMETHOD(ShowUI)(
DWORD dwID,
IOleInPlaceActiveObject* pActiveObject,
IOleCommandTarget* pCommandTarget,
IOleInPlaceFrame* pFrame,
IOleInPlaceUIWindow* pDoc);
参数
dwID
请参阅 Windows SDK 中 IDocHostUIHandler::ShowUI
中的 dwID
。
pActiveObject
请参阅 Windows SDK 中 IDocHostUIHandler::ShowUI
中的 pActiveObject
。
pCommandTarget
请参阅 Windows SDK 中 IDocHostUIHandler::ShowUI
中的 pCommandTarget
。
pFrame
请参阅 Windows SDK 中 IDocHostUIHandler::ShowUI
中的 pFrame
。
pDoc
请参阅 Windows SDK 中 IDocHostUIHandler::ShowUI
中的 pDoc
。
返回值
返回 S_FALSE
。
备注
此成员函数是 IDocHostUIHandler::ShowUI
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::TranslateAccelerator
调用以处理菜单快捷键消息。
STDMETHOD(TranslateAccelerator)(
LPMSG lpMsg,
const GUID* pguidCmdGroup,
DWORD nCmdID);
参数
lpMsg
请参阅 Windows SDK 中 IDocHostUIHandler::TranslateAccelerator
中的 lpMsg
。
pguidCmdGroup
请参阅 Windows SDK 中 IDocHostUIHandler::TranslateAccelerator
中的 pguidCmdGroup
。
nCmdID
请参阅 Windows SDK 中 IDocHostUIHandler::TranslateAccelerator
中的 nCmdID
。
返回值
返回 S_FALSE
。
备注
此成员函数是 IDocHostUIHandler::TranslateAccelerator
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::TranslateUrl
调用以修改要加载的 URL。
STDMETHOD(TranslateUrl)(
DWORD dwTranslate,
OLECHAR* pchURLIn,
OLECHAR** ppchURLOut);
参数
dwTranslate
请参阅 Windows SDK 中 IDocHostUIHandler::TranslateUrl
中的 dwTranslate
。
pchURLIn
请参阅 Windows SDK 中 IDocHostUIHandler::TranslateUrl
中的 pchURLIn
。
ppchURLOut
请参阅 Windows SDK 中 IDocHostUIHandler::TranslateUrl
中的 ppchURLOut
。
返回值
返回 S_FALSE
。
备注
此成员函数是 IDocHostUIHandler::TranslateUrl
的 CDHtmlDialog
实现,如 Windows SDK 中所述。
CDHtmlDialog::UpdateUI
调用以通知主机命令状态已更改。
STDMETHOD(UpdateUI)(void);
返回值
返回 E_NOTIMPL
。
备注
此成员函数是 IDocHostUIHandler::UpdateUI
的 CDHtmlDialog
实现,如 Windows SDK 中所述。