当我正在努力为我的应用程序添加自定义打印时,我已经决定使用TMetafile创建页面,然后使用它来预览和/或打印,但我发现缺少文档。
有没有很好的资源来学习使用TMetafile和TMetafileCanvas的细节?
答案 0 :(得分:2)
使用TMetaFile / Canvas的细节与元文件相关,而不是与我使用它的创伤经历中的TMetaFile和TMetaFileCanvas实现相关。 Aka,您应该寻找有关EMF(或WMF)如何工作的信息。 Delphi实现只是简单地调用windows来完成我理解的所有事情。
您可能希望更具体地了解您需要了解的内容,但需要了解如何操作指南。
答案 1 :(得分:2)
它实际上比你想象的更简单......
这是我的一些代码:
var
m: TMetafile;
mc: TMetafileCanvas;
begin
m := TMetafile.Create;
m.Width := 1000;
m.Height := 1000;
mc := TMetafileCanvas.Create(m, 0);
//use mc just like any canvas...
mc.Free;
// you can use m for anything you want, preview, print, save ...etc.
end;
将图元文件复制到剪贴板:
Clipboard.Assign(m);
保存到emf文件:
m.SaveToFile(filename);
我用它在快速报告中打印图元文件。
答案 2 :(得分:0)
我自己没有太多关注,但我知道QuickReports代码使用底层的元文件来创建打印预览并发送到打印机。如果您有这方面的资料,可能会有所帮助。