请教:在DELPHI中如何WINDOWS的API函数进行打印预览(100分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:在DELPHI中如何WINDOWS的API函数进行打印预览<br>或者能否找到一个关于打印预览的控件!
 
有这种函数吗?呵呵,好像没有。
 
没有打印预览的函数,打印预览是应用程序另外开发的。<br>比如IE,5.5以下的版本都没有打印预览功能。
 
以前在哪见过,大概如下:<br><br>创建一个TPanel的派生类,公开Canvas属性,作为预览面板。<br>刷新后调用以下函数:<br>//允许x,y轴上的任意尺寸<br>SetMapMode(YourPanel.Canvas.Handle,MM_ISOTROPIC);<br>//匹配打印机边界<br>SetWindowExtEx<br>//设置预览区范围<br>SetViewportExtEx<br>//设置原点<br>SetViewportOrgEx<br><br>在Canvas上输出即可.<br>具体用法可查help<br><br>另:在创建YourPanel前,可用一TPanel作底,产生阴影及3D效果.
 
没有这样的免费午餐哦。<br>只能自己写设置映射模式、坐标原点等。
 
这种函数是没有的,实际打印预览的实现与打印是类似的,只不过DC一个是Printer,<br>一个是普通窗口而已。这种控件是有的,好好找找吧。最好带源码的,可以学习一下。<br>QuickReport的Preview如何?
 
同意clyin 。<br>我的意思是继承Panel对象作为预览窗口,调用一些函数匹配分辨率,在Canvas属性上绘图或输出文本,或直接用TBitmap类输出至Form上。实际打印时,在Printer的Canvas上输出。<br>除非显示器和打印机分辨率完全匹配,预览和实际打印不可能完全相同。<br><br>找到一段源码,太长,可打印及预览系统字体样本,想看可email给您。
 
据我所知,基本上只能自己在屏幕上画出来
 
多人接受答案了。
 
后退
顶部