VC6 和 MFC 中的 HTML 打印和打印预览
Posted
技术标签:
【中文标题】VC6 和 MFC 中的 HTML 打印和打印预览【英文标题】:HTML Print and Print Preview in VC6 and MFC 【发布时间】:2014-04-15 11:52:28 【问题描述】:我有一个生成报告的应用程序,到目前为止,我正在通过基于 MFC 的格式和布局内容生成打印/打印预览。
作为一个整容者,我现在尝试将报告导出为格式正确的 html 文件,然后尝试显示相同的内容。但我在 MFC 中找不到执行此操作的控件或机制。
请帮助我使用 MFC 的 Doc/View Architecture 打印和显示 HTML 文件的打印预览。
提前非常感谢:)
【问题讨论】:
你看过CHtmlView吗?你试过什么? 是的,但它缺少打印预览的东西:( 在将您的报告加载到其中后,尝试将“打印预览”命令 ID 发送到嵌入式CHtmlView
。 ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT, NULL, NULL);
【参考方案1】:
经过大量研究和试验,找到了实现这一点的方法。
为我的旧文档使用了一个名为 CMyHtmlView 的新视图,它继承自 CHtmlView。
class CReportWebView : public CHtmlView
protected: // create from serialization only
CReportWebView();
int m_reportID;
DECLARE_DYNCREATE(CReportWebView)
public:
// Overrides
// ClassWizard generated virtual function overrides
//AFX_VIRTUAL(CReportWebView)
protected:
virtual void OnInitialUpdate(); // called first time after construct
virtual void OnFilePrintPreview();
virtual void OnFilePrint();
virtual void OnNavigateComplete2(LPCTSTR strURL);
//AFX_VIRTUAL
// Implementation
public:
virtual ~CReportWebView();
//AFX_MSG(CReportWebView)
// NOTE - the ClassWizard will add and remove member functions here.
//AFX_MSG
DECLARE_MESSAGE_MAP()
;
更多详情可以在我的other question找到
【讨论】:
以上是关于VC6 和 MFC 中的 HTML 打印和打印预览的主要内容,如果未能解决你的问题,请参考以下文章
Chrome 和 Mozilla Firefox 中的不同打印预览