我想将网页(即TWebBrowser)呈现给设备上下文.我想使用Internet Explorer的布局引擎将内容呈现给设备上下文(即图元文件,pdf图元文件).
从Internet Explorer 9开始,IHTMLElementRender不再支持该接口:
IHTMLElementRender接口
使用此接口将元素的内容绘制到指定的设备上下文,通常是打印机.
会员
的IHTMLElementRender接口从继承的IUnknown接口,但没有其他成员.
至于他们不再提及DrawToDC方法甚至存在:
IHTMLElementRender :: DrawToDC方法
已过时.将元素的内容绘制到指定的设备上下文.
句法
Run Code Online (Sandbox Code Playgroud)HRESULT DrawToDC( HDC hDC );参数
- hDC
[in] 指定要绘制的设备的HDC,通常是打印机.回报价值
如果成功则返回S_OK,否则返回错误值.
备注
从Windows Internet Explorer 9开始,不推荐使用此方法,不应使用此方法.
对于某些打印机,运行IHTMLElementRender :: DrawToDC可能会导致问题.通过首先运行IHTMLElementRender :: SetDocumentPrinter方法,然后将修改后的设备上下文传递给IHTMLElementRender :: DrawToDC,可以确保IHTMLElementRender :: DrawToDC在所有打印机上正常工作.
注意:我引用了所有文档,以便在Microsoft最终将其从MSDN中完全删除时仍可以找到它.随着接口声明:
IHTMLElementRender = interface(IUnknown)
['{3050F669-98B5-11CF-BB82-00AA00BDCE0B}']
function DrawToDC(hdc: HDC): HResult; stdcall;
function SetDocumentPrinter(const bstrPrinterName: WideString; hdc: HDC): …Run Code Online (Sandbox Code Playgroud)