MFC CDHtmlDialog 类 公共数据成员:CDHtmlDialog::m_spHtmlDoc
在MFC(Microsoft Foundation Classes)中,CDHtmlDialog 类的公共数据成员 m_spHtmlDoc 是一个智能指针,它指向与 HTML 对话框关联的 HTML 文档对象。m_spHtmlDoc 是一个 CComPtr<IHTMLDocument2> 类型的智能指针,其中 IHTMLDocument2 是 HTML 文档对象的接口。通过使用这个指针,您可以访问 HTML 对话框中的文档对象,以便执行操作,如查询和修改文档的元素、执行脚本等。以下是一个简单的示例,演示了如何在 CDHtmlDialog 类中使用 m_spHtmlDoc:// MyHtmlDialog.h#pragma once#include "afxhtml.h"class CMyHtmlDialog : public CDHtmlDialog{public: enum { IDD = IDD_MYHTMLDIALOG, IDH = IDR_HTML_MYHTMLDIALOG }; CMyHtmlDialog(CWnd* pParent ...
MFC CDHtmlDialog 类 公共数据成员:CDHtmlDialog::m_pBrowserApp
在MFC(Microsoft Foundation Classes)中,CDHtmlDialog 类的公共数据成员 m_pBrowserApp 是一个指向 IDispatch 接口的指针,用于表示 HTML 对话框中的浏览器应用程序。IDispatch 接口是一个用于在COM(Component Object Model)中提供对对象的成员的访问的标准接口。在这里,m_pBrowserApp 提供了与 HTML 对话框关联的浏览器应用程序的接口。以下是一个简单的示例,演示了如何在 CDHtmlDialog 类中使用 m_pBrowserApp:// MyHtmlDialog.h#pragma once#include "afxhtml.h"class CMyHtmlDialog : public CDHtmlDialog{public: enum { IDD = IDD_MYHTMLDIALOG, IDH = IDR_HTML_MYHTMLDIALOG }; CMyHtmlDialog(CWnd* pParent = nullptr); // Di...
MFC CDHtmlDialog 类 公共数据成员:CDHtmlDialog::m_nHtmlResID
CDHtmlDialog 类是 MFC(Microsoft Foundation Classes)中用于创建基于 HTML 的对话框的类之一。在 CDHtmlDialog 类中,m_nHtmlResID 是一个公共数据成员,它用于存储 HTML 对话框资源的资源 ID。通常,您可以通过将 HTML 对话框的资源 ID 分配给 m_nHtmlResID 来指定 CDHtmlDialog 将使用哪个 HTML 资源。这个资源 ID 对应于您在资源编辑器中定义的 HTML 文件的 ID。以下是一个简单的示例,演示了如何在 CDHtmlDialog 类中使用 m_nHtmlResID:// MyHtmlDialog.h#pragma once#include "afxhtml.h"class CMyHtmlDialog : public CDHtmlDialog{public: enum { IDD = IDD_MYHTMLDIALOG, IDH = IDR_HTML_MYHTMLDIALOG }; CMyHtmlDialog(CWnd* pParent = n...
MFC CDHtmlDialog 类 公共数据成员:CDHtmlDialog::m_bUseHtmlTitle
在 MFC 中,CDHtmlDialog::m_bUseHtmlTitle 是 CDHtmlDialog 类的一个公共数据成员,用于指示是否使用 HTML 对话框中的标题。该成员的定义如下:BOOL m_bUseHtmlTitle;这个成员变量通常用于控制是否使用 HTML 对话框中的 <title> 元素来设置对话框的标题。如果 m_bUseHtmlTitle 为 TRUE,则对话框标题将从 HTML <title> 元素中获取。如果为 FALSE,则对话框标题将使用默认的窗口标题。以下是一个示例:// 设置是否使用 HTML 对话框中的标题m_dlg.m_bUseHtmlTitle = TRUE; // 或 FALSE,根据需要设置// 创建并显示 HTML 对话框m_dlg.DoModal();在这个示例中,通过设置 m_bUseHtmlTitle 变量,你可以控制是否使用 HTML 对话框中的标题。在实际使用时,根据需要选择是否启用这个特性。
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::UpdateUI
在 MFC 中,CDHtmlDialog::UpdateUI 是 CDHtmlDialog 类的一个公共方法,用于更新用户界面。该方法的定义如下:HRESULT CDHtmlDialog::UpdateUI();通过调用 UpdateUI 方法,可以在 HTML 对话框中触发用户界面更新的操作。这个方法通常由 HTML 渲染引擎调用,以便在用户界面需要更新时进行通知。以下是一个简单的示例:// 调用 UpdateUI 方法以触发用户界面更新HRESULT hr = m_dlg.UpdateUI();// 检查操作是否成功if (SUCCEEDED(hr)){ // 执行其他必要的操作}在这个示例中,我们调用 UpdateUI 方法以触发用户界面的更新。在实际使用时,你需要根据具体的需求在方法调用后执行适当的操作。
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::TranslateUrl
在 MFC 中,CDHtmlDialog::TranslateUrl 是 CDHtmlDialog 类的一个公共方法,用于翻译 URL。该方法的定义如下:HRESULT CDHtmlDialog::TranslateUrl(DWORD dwTranslate, OLECHAR* pchURLIn, OLECHAR** ppchURLOut);参数说明: dwTranslate: 指定要执行的翻译操作的标志。 pchURLIn: 输入 URL 字符串。 ppchURLOut: 指向输出 URL 字符串的指针。通过调用 TranslateUrl 方法,可以在 HTML 对话框中执行 URL 翻译操作。这个方法通常由 HTML 渲染引擎调用,以便它可以适应不同的 URL 格式或进行其他必要的处理。以下是一个简单的示例:// 调用 TranslateUrl 方法进行 URL 翻译OLECHAR* pchInputUrl = L"http://www.example.com";OLECHAR* pchOutputUrl = nullptr;HRESULT hr = m_dlg...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::TranslateAccelerator
在 MFC 中,CDHtmlDialog::TranslateAccelerator 是 CDHtmlDialog 类的一个公共方法,用于处理加速键(accelerator key)。该方法的定义如下:HRESULT CDHtmlDialog::TranslateAccelerator(MSG *pMsg, const GUID *pguidCmdGroup, DWORD nCmdID);参数说明: pMsg: 包含有关键击的信息的 MSG 结构指针。 pguidCmdGroup: 命令组的 GUID。 nCmdID: 命令标识符。通过调用 TranslateAccelerator 方法,可以在 HTML 对话框中处理加速键。这个方法允许你在用户按下键盘上的某个键时执行特定的操作,例如执行一个命令。以下是一个简单的示例:// 处理加速键MSG msg;msg.message = WM_KEYDOWN;msg.wParam = VK_F1; // 模拟按下 F1 键HRESULT hr = m_dlg.TranslateAccelerator(&msg, nullptr, 0);...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::ShowUI
在 MFC 中,CDHtmlDialog::ShowUI 是 CDHtmlDialog 类的一个公共方法,用于显示或隐藏 HTML 对话框的用户界面元素。该方法的定义如下:HRESULT CDHtmlDialog::ShowUI(DWORD dwID, IUnknown* pActiveObject, IUnknown* pCommandTarget, IUnknown* pFrame, IUnknown* pDoc, IOleInPlaceActiveObject* pIPAO);参数说明: dwID: 用户界面元素的命令标识符。 pActiveObject: 一个指向 IOleInPlaceActiveObject 接口的指针。 pCommandTarget: 一个指向 IOleCommandTarget 接口的指针。 pFrame: 一个指向 IOleInPlaceFrame 接口的指针。 pDoc: 一个指向 IOleInPlaceUIWindow 接口的指针。 pIPAO: 一个指向 IOleInPlaceActiveObject 接口的指针。通过调用 ShowUI 方法,可...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::ShowContextMenu
在 MFC 中,CDHtmlDialog::ShowContextMenu 是 CDHtmlDialog 类的一个公共方法,用于显示 HTML 对话框中的上下文菜单。该方法的定义如下:void CDHtmlDialog::ShowContextMenu(DWORD dwID, POINT* ppt, IUnknown* pcmdtReserved, IDispatch* pdispReserved);参数说明: dwID: 上下文菜单的命令标识符。 ppt: 鼠标指针的屏幕坐标。 pcmdtReserved: 保留参数,通常为 nullptr。 pdispReserved: 保留参数,通常为 nullptr。通过调用 ShowContextMenu 方法,可以在指定位置显示上下文菜单,通常是在用户右键单击 HTML 对话框中的某个元素时触发。以下是一个简单的示例:// 获取鼠标的屏幕坐标CPoint point;GetCursorPos(&point);// 显示上下文菜单m_dlg.ShowContextMenu(IDR_CONTEXT_MENU, &point, n...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::SetHostFlags
在 MFC 中,CDHtmlDialog::SetHostFlags 是 CDHtmlDialog 类的一个公共方法,用于设置 HTML 对话框的宿主标志(host flags)。宿主标志是一个位掩码,控制 HTML 渲染引擎的行为。该方法的定义如下:void CDHtmlDialog::SetHostFlags(DWORD dwFlags);参数说明: dwFlags: 宿主标志的位掩码,用于设置 HTML 对话框的行为。通过调用 SetHostFlags 方法,你可以在运行时设置 HTML 对话框的宿主标志,以影响 HTML 渲染引擎的行为。这些标志可以控制诸如 ActiveX 控件的加载、脚本执行等方面的行为。以下是一个简单的示例:// 设置宿主标志DWORD dwFlags = DOCHOSTUIFLAG_NO3DOUTERBORDER | DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE;m_dlg.SetHostFlags(dwFlags);在这个示例中,通过将合适的宿主标志传递给 SetHostFlags 方法,可以禁用 3D 外边框并禁用非激活...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::SetExternalDispatch
在 MFC 中,CDHtmlDialog::SetExternalDispatch 是 CDHtmlDialog 类的一个公共方法,用于设置外部 IDispatch 接口,该接口可以用于在 HTML 对话框中调用从 C++ 代码中公开的方法。这个方法的定义如下:void CDHtmlDialog::SetExternalDispatch(LPDISPATCH pDisp);参数说明: pDisp: 要设置的外部 IDispatch 接口指针。通过调用 SetExternalDispatch 方法,你可以将 C++ 中的对象或控制器的 IDispatch 接口传递给 HTML 对话框,以便在 HTML 中使用该接口调用 C++ 中公开的方法。以下是一个简单的示例:// 创建一个用于公开方法的自定义 Dispatch 对象CComObject<MyDispatch>* pMyDispatch = nullptr;CComObject<MyDispatch>::CreateInstance(&pMyDispatch);CComPtr<IDispatch&...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::SetElementText
在 MFC 中,CDHtmlDialog::SetElementText 是 CDHtmlDialog 类的一个公共方法,用于设置 HTML 对话框中指定元素的文本内容。该方法的定义如下:HRESULT CDHtmlDialog::SetElementText(LPCTSTR pszId, LPCTSTR pszText);参数说明: pszId: 要设置文本内容的元素的 ID。 pszText: 要设置的文本内容。这个方法允许你在运行时动态地改变 HTML 对话框中某个特定元素的文本内容。你可以使用元素的 ID 来指定要修改的是哪个元素,然后通过提供新的文本内容来更新该元素的显示文本。以下是一个简单的示例:// 获取 CDHtmlDialog 中的控件指针CComPtr<IHTMLElement> spElement;HRESULT hr = m_dlg.GetElement(_T("element_id"), &spElement);// 检查操作是否成功if (SUCCEEDED(hr) && spElement){ ...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::SetElementProperty
在 MFC 中,CDHtmlDialog::SetElementProperty 是 CDHtmlDialog 类的一个公共方法,用于设置 HTML 对话框中指定元素的属性。该方法的定义如下:HRESULT CDHtmlDialog::SetElementProperty(LPCTSTR pszId, DISPID dispid, VARIANT var);参数说明: pszId: 要设置属性的元素的 ID。 dispid: 属性的 Dispatch ID。 var: 新的属性值。这个方法允许你在运行时动态地改变 HTML 对话框中某个特定元素的属性。你可以使用元素的 ID 来指定要修改的是哪个元素,然后通过提供新的属性值来更新该元素的属性。以下是一个简单的示例:// 获取 CDHtmlDialog 中的控件指针CComPtr<IHTMLElement> spElement;HRESULT hr = m_dlg.GetElement(_T("element_id"), &spElement);// 检查操作是否成功if (SUCCEEDED(hr...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::SetElementHtml
CDHtmlDialog::SetElementHtml 是 MFC 中 CDHtmlDialog 类的一个公共方法,用于设置 HTML 对话框中指定元素的 HTML 内容。这个方法的定义如下:void CDHtmlDialog::SetElementHtml(LPCTSTR pszId, LPCTSTR pszHtml);参数说明: pszId: 要设置 HTML 内容的元素的 ID。 pszHtml: 要设置的 HTML 内容。这个方法允许你在运行时动态地改变 HTML 对话框中某个特定元素的显示内容。你可以使用元素的 ID 来指定要修改的是哪个元素,然后通过提供新的 HTML 内容来更新该元素的显示。以下是一个简单的示例:// 获取 CDHtmlDialog 中的控件指针CComPtr<IHTMLElement> spElement;HRESULT hr = m_dlg.GetElement(_T("element_id"), &spElement);// 检查操作是否成功if (SUCCEEDED(hr) && spEle...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::ResizeBorder
在 MFC 中的 CDHtmlDialog 类中,确实存在名为 ResizeBorder 的公共方法,用于调整对话框边框的大小。这个方法的签名如下:void ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL bFrame);这个方法接受三个参数: prcBorder:一个指向 RECT 结构的指针,用于指定新的边框大小。 pUIWindow:一个指向 IOleInPlaceUIWindow 接口的指针,表示对话框的原始窗口。 bFrame:一个布尔值,指定是否调整整个窗口框架(包括菜单栏、工具栏等)。这个方法通常用于在运行时调整对话框的大小,例如在用户改变窗口大小时。以下是一个简单的示例:RECT rcNewBorder = { 0, 0, 400, 300 }; // 新的边框大小ResizeBorder(&rcNewBorder, GetParentFrame(), TRUE);在这个示例中,ResizeBorder 被用来将对话框的边框大小调整为 400x300,并通过 GetPare...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::OnInitDialog
CDHtmlDialog 类中有一个名为 OnInitDialog 的公共方法。这个方法在对话框被创建时会被调用,用于初始化对话框的一些设置。在派生类中,你可以覆盖这个方法来添加自定义的初始化代码。以下是一个简单的示例:class CMyHtmlDialog : public CDHtmlDialog{public: CMyHtmlDialog(CWnd* pParent = NULL) : CDHtmlDialog(IDD_MYHTMLDIALOG, pParent) { } // 初始化对话框 virtual BOOL OnInitDialog() { // 调用基类的 OnInitDialog CDHtmlDialog::OnInitDialog(); // 在这里可以添加自定义的初始化代码 return TRUE; // 返回 TRUE 表示已经手动设置焦点 } // 其他成员函数和消息处理函数...};在这个示例中,OnInitDialog 函数被覆盖以添加...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::OnDocWindowActivate
在 MFC 中的 CDHtmlDialog 类中,没有名为 OnDocWindowActivate 的直接公共方法。然而,你可以通过覆盖 OnDocWindowActivate 函数来处理文档窗口激活事件。这个事件通常涉及到 HTML 文档的激活和取消激活状态。下面是一个简单的示例,展示如何在 CDHtmlDialog 类中处理文档窗口激活事件:class CMyHtmlDialog : public CDHtmlDialog{public: BEGIN_DHTML_EVENT_MAP(CMyHtmlDialog) DHTML_EVENT_ONDOCWINDOWACTIVATE(_T("DocWindowActivate"), OnDocWindowActivate) END_DHTML_EVENT_MAP() virtual void OnDocWindowActivate(BOOL bActivate) { // 在文档窗口激活状态发生变化时触发的处理 // bActivate 参数表示文档窗口是...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::OnDocumentComplete
在 MFC 中的 CDHtmlDialog 类中,没有名为 OnDocumentComplete 的直接公共方法。然而,你可以通过覆盖 OnDocumentComplete 函数来处理 HTML 文档加载完成的事件。在 Web 浏览器控件中,这个事件通常称为 DocumentComplete。下面是一个简单的示例,展示如何在 CDHtmlDialog 类中处理文档加载完成的事件:class CMyHtmlDialog : public CDHtmlDialog{public: BEGIN_DHTML_EVENT_MAP(CMyHtmlDialog) DHTML_EVENT_ONDOCUMENTCOMPLETE(_T("DocumentComplete"), OnDocumentComplete) END_DHTML_EVENT_MAP() virtual void OnDocumentComplete(LPDISPATCH pDisp, VARIANT* URL) { // 在文档加载完成时触发的处理 ...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::Navigate
在 MFC 中的 CDHtmlDialog 类中,有一个名为 Navigate 的公共方法,它用于导航到指定的 URL。这个方法的签名如下:HRESULT Navigate(LPCTSTR lpszURL, VARIANT* pvarFlags = NULL, VARIANT* pvarTargetFrameName = NULL, VARIANT* pvarPostData = NULL, VARIANT* pvarHeaders = NULL);这个方法接受以下参数: lpszURL:要导航到的 URL。 pvarFlags:标志,指定导航的选项,可以为 NULL。 pvarTargetFrameName:目标框架的名称,可以为 NULL。 pvarPostData:POST 操作时要发送的数据,可以为 NULL。 pvarHeaders:要在请求中包含的额外标头信息,可以为 NULL。这个方法的返回值是 HRESULT,表示导航的结果。以下是一个示例用法:CString strURL = _T("https://www.example.com");HRESUL...
MFC CDHtmlDialog 类 公共方法:CDHtmlDialog::GetHostInfo
CDHtmlDialog::GetHostInfo 是 MFC 中 CDHtmlDialog 类的公共方法,用于获取 HTML 文档宿主的信息。这个方法用于设置 DOCHOSTUIINFO 结构体,以影响 HTML 文档的显示行为。具体的方法签名如下:virtual void GetHostInfo(DOCHOSTUIINFO& Info);通过调用 GetHostInfo 方法,可以设置 DOCHOSTUIINFO 结构体的各种属性,以控制 HTML 文档的外观和行为。例如,可以通过该方法设置是否显示滚动条、是否禁用上下文菜单等。以下是一个示例:void CMyHtmlDialog::GetHostInfo(DOCHOSTUIINFO& Info){ // 调用基类实现 CDHtmlDialog::GetHostInfo(Info); // 设置自定义的宿主信息 Info.dwFlags |= DOCHOSTUIFLAG_SCROLL_NO; Info.dwFlags |= DOCHOSTUIFLAG_NO3DBORDER;}在这个示例中...