CDHtmlDialog 类的 GetExternal 方法是用于获取 IDispatch 接口的方法,该接口用于在 HTML 文档中调用外部对象(通常是 MFC 对象)的方法。

具体的方法签名如下:
IDispatch* GetExternal();

调用这个方法会返回一个 IDispatch 接口,通过这个接口,你可以在 HTML 文档中调用与 CDHtmlDialog 关联的外部对象的方法。

一般情况下,GetExternal 方法会在 CDHtmlDialog 派生类中的某个成员函数(例如 OnInitDialog)中调用,以便将外部对象关联到 HTML 文档。例如:
BOOL CMyHtmlDialog::OnInitDialog()
{
    // 其他初始化操作...

    // 获取外部接口并关联到 HTML 文档
    IDispatch* pDisp = GetExternal();
    if (pDisp)
    {
        CComQIPtr<IHTMLElement> spBody;
        if (SUCCEEDED(pDisp->QueryInterface(IID_IHTMLElement, (void**)&spBody)))
        {
            // 在此可以进一步操作 HTML 文档中的元素
        }
    }

    return TRUE;
}

在这个示例中,通过 GetExternal 获取外部接口,然后通过 QueryInterface 获取 IHTMLElement 接口,进而可以操作 HTML 文档中的元素。

请注意,这只是一个示例,具体的实现可能会根据应用程序的需求有所不同。


转载请注明出处:http://www.zyzy.cn/article/detail/17294/MFC/CDHtmlDialog