起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 205|回复: 5

【搞定】如何让打印设置默认为自动匹配[问题]**

[复制链接]
发表于 2007-8-20 17:10:48 | 显示全部楼层 |阅读模式
如何让打印设置默认为自动匹配?
回复

使用道具 举报

发表于 2007-8-20 17:18:23 | 显示全部楼层
怎么自动匹配法?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-20 18:35:37 | 显示全部楼层
如图,想让表格文档自动适应要打印的纸张大小

1.jpg

38.54 KB, 下载次数: 135

回复 支持 反对

使用道具 举报

发表于 2007-8-21 14:18:33 | 显示全部楼层
不支持,要不主动点击这个按钮,要不就是代码来设置缩放比例了
回复 支持 反对

使用道具 举报

发表于 2007-11-12 10:55:14 | 显示全部楼层
可以调用TDataSheet.GetSeemlyScale 方法
function GetSeemlyScale(AWidth: Longint): Longint;
这里的AWidth是指纸张宽度(以96DPI计算的象素数)
得到的结果,设置给 PageInfo 的 Scale 属性就可以了

代码如下:
var
  lWidth, lScale: Integer;
begin
  //设置纸张的单位是象素数
  TSheetDoc(DocView1.Doc).PageInfo.UnitType := Business.System.TUnits.mmPixel;
  //计算可打印宽度
  lWidth := TSheetDoc(DocView1.Doc).PageInfo.Width-TSheetDoc(DocView1.Doc).PageInfo.MarginLeft-TSheetDoc(DocView1.Doc).PageInfo.MarginRight;
  //按照宽度计算比例
  lScale := TSheetDoc(DocView1.Doc).Sheet.GetSeemlyScale(lWidth);
  //设置打印比例
  TSheetDoc(DocView1.Doc).PageInfo.Scale := lScale;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-13 09:35:52 | 显示全部楼层
"八年了~~~"
"别提他了......"
:confused:

感谢alang的回复,上面代码我先研究下先,如有问题我再另行发贴。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-30 06:35 , Processed in 0.041519 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表