我已经从MFC创建了Rich Edit控件(1.0),如下所示
m_hRichEditWnd = ::CreateWindow(_T("RichEdit"), csWindowName, ES_MULTILINE|ES_READONLY, 0, 0, 200, 200, NULL, 0, 0, 0);
我已从文件中读取该控件中的文本。该文件是一个多页.txt文档,带有用于分页符的ascii控制字符。当我从Rich Edit控件打印时,我没有得到分页符。它们作为字符打印出来。有没有办法让这些分页符?
我使用类似于此处所述的方法http://msdn.microsoft.com/en-us/library/windows/desktop/bb787875(v=vs.85).aspx
从控件中打印出来谢谢!
答案 0 :(得分:0)
所以我遗漏的是我实际上并没有打印到物理打印机而是打印到.ps文件。那个.ps文件然后被ghost脚本转换为pdf,它没有注册分页符。我相信这是因为编辑控件实际上并没有在其中显示分页符 - 而且打印命令的工作方式几乎就像是打印设备的图形单元。分页符不在“屏幕上”,因此它不会进入.ps文件。这是一个理论。
我找到的唯一解决方案是解析进入CRichEditControl的信息以获取换页符。将所有字符加载到换页符,将其打印到文件,然后使用EndPage()函数手动强制换页。以这种方式继续,直到没有更多换页字符。然后确保在最后一个换页后打印出任何剩余的字符。