说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Delphi编写打印程序的窍门

HTML文档下载 WORD文档下载 PDF文档下载
用Delphi编写打印程序的窍门

如果你想自己用Delphi编写一个打印程序,那么,下面这些技巧或许对你有所帮助。

1.获娶显示当前打印机的分辨率

Windows下的打印分辨对打印程序有着至关重要的作用,如果你想知道打印机的分辨率,请在程序中加入一行:ShowMessage(′水平分辨率′+inttostr(GetDeviceCaps(printerHandle

LOGPIXELSX))+chr(13)+′垂直分辨率:′+inttostr(GetDeviceCaps(printerHandle

LOGPIXELSY)));结果就一目了然了。

2.将结果直接送到打印机

Delphi提供了两种打印方式:一是将结果输送到Form,再调用Form的print方法将结果输送到打印机,二是将结果直接输送到打印机。如果你采用第一种方式,则无论你怎样调整Form的PrintScal属性,打印出来的东西也不会让你满意。因此建议采用第二种方式。

3.尽量不要使用AssignPrn

尽管AssignPrn简化了文本打印操作,使输出到打印机像输出到文件一样简单。但简单带来的是一系列的不方便:你无法知道当前打印的行数,无法准确控制行距,无法灵活改变字体字形等等。还是用打印机的Canvas属性进行打印吧。

4.用打印机的点数做度量单位

如果想让打印程序在任何打印机上都能正常地打印,你就必须改变你的度量单位。如果采用固定的度量,不同分辨率的打印效果是不同的。举例来讲:printerCanvasrectangle(0

0

360

720)在360×360的佳能4200SP上能打出一个1英寸宽、2英寸高的矩形,但在600×600的惠普6L上只能打出06英寸宽、12英寸高的矩形。使用打印机的点数做为度量单位是一个明智的选择。具体做法如下:VarPointX

PointY:integer;PointX:=GetDeviceCaps(printerHandle

LOGPIXELSX);PointY:=GetDeviceCaps(printerHandle

LOGPIXELSX);printerCanvasrectangle(0

0

PointX*1

PointY*2)这样,无论你使用什么样的打印机,都能得到一个1英寸宽、2英寸高的矩形。

5.添加打印程序单元

尽管Delphi在生成窗体时会自动在USES部分加入许多程序单元,但打印程序单元(Printers)却不在之列,要想使打印机正常工作和程序不出错,你还是老老实实手工给它加上吧。

让程序启动快一点 -VB资料 VB如何调用系統的【查找】、【替换】的对话框? VB如何动态新增、移除 ODBC DSN? VB如何读取 Picture 内任何一点的颜色值? VB如何获取硬盘卷标、序列号和文件系统类型? VB如何判别程序是在Win95或NT下执行? VB如何启动控制面板? VB如何取得磁盘序列号? VB如何让Window不接受键盘输入及Mouse Click VB如何让程序拥有多个热键? VB如何让用户自行输入方程式,并计算其结果? VB如何使程序不在Ctrl+Alt+Del弹出的对话框内? VB如何使用 VB 编写自动反安装的程序? VB如何用VB建立快捷方式 VB如何用VB在桌面建立快捷方式 VB如何在 VB 中控制 Modem 行为? VB如何在VB中判断Windows9x的运行模式 VB如何在Visual Basic中实现异步执行程序 VB如何在开机时自动更换墙纸? 使回车具有 Tab 的功能-VB资料 输入时,自动转换成小写? -VB资料 显示多媒体信息 -VB资料 也谈Windows 下的自动存盘 -VB资料 一个小巧精致的CPU监视器 -VB资料 应用VB4.0实现工业控制的实时曲线和历史曲线 应用程序中实现关机功能-VB资料 萤幕抓取与萤幕保护程式 -VB资料 用VB5.0创建Windows快捷方式 用VB5.0收集键盘和鼠标信息 用VBA限制非注册软件使用时间 用VB编程检测当前电池使用情况 哪里可以下载vc5.0 用新版sun虚拟机,为什么找不到类了? 回车的问题 100在线等待………… 网页上的一些图片看不到 关于sql的问题? 我哪里错了呢? CITIZEN 的打印机 GSX-540S的驱动哪里有??急啊!! 我该如何处理这感情 #图书醒目#《vc++和uml》#图书醒目# 斑竹:请给matlab一个专区! 如何调用API使得子窗体全屏显示,且要屏蔽掉所有菜单及工具条? 每次用.net帮助的索引就会出错退出 奇怪的linux安装问题 用PB6.5开发单机版程序用什么数据库比较合适? 为什么我每次用UpdateUI刷新JTree时都有错? 本菜鸟想问一个怎么定义公用函数的问题!请各位大虾不吝赐教!不胜感激。 我这个人啊!!大家可能还不了解!! 网友六一见面,找个网友男朋友看海,找个网友男朋友看星星! 请教!! 求教SQL语句 神洲数码怎样? 请大家帮帮忙:如何将一个字符转换为unicode码形式(得到的是数字,而不是字符串)! msn怎么通不过http代理 求助:J2EE Container中deployed的servlet是否可以调用EJB local home? 有关时间限制 ie问题有没有碰到过 TADOTable+TDBGridEH+TDataSource中编辑一有关键字的表时,怎样做到避免在输入相同的关键字时的出错? IE经常自动关闭是什么原因 菜鸟请教 UlraEdit? 四舍五入的函数是什么?? 帮帮忙!!!我编译出这问题?? 请问:发现病毒:生成folder.htt,还有后缀都是htt的其他文件,用kv3000杀,提示kbs\kj,请问是什么病毒,怎么杀毒(急)? ie问题有没有碰到过 打开adsl的猫机器能自己启动为什么? 神洲数码怎样? linux中如何得到某个网络设备的ip地址? 请教ADO的Recordset对象的Delete的问题 请问jbuilder的参考书,哪本比较好?市面好像种类比较少 请问怎样获得临时表的记录? @@@@@@@@@@如何使我的折线图随着时间移动@@@@@@@@@@ 菜鸟问:各位大哥看c++ primer的时候是用什么编译器? 神洲数码怎样? jsp如何将web页面的String型转换为long型? 极容易的问题 ,先来先得! 大虾,救命啊!!!!!! jsp如何将web页面的String型转换为long型? ★★★帮忙翻译一句话!谢谢★★★ **冗余醒目**《如何在输入的时候减小冗余》**冗余醒目** 倡议书:维护您的网络权益 章鱼是鱼吗? 平面上有10个点,如果每两个点可以连成一条直线(每三个点不在同一条直线上),那么这10个点最多可以连出多少直线答案可能是45,需要具体过程\xiexie!有没不是加法的计算过程 求一篇500字的作文 《校园生活之跑操》要跑操!跑操! 圆柱的宽是不是等于圆柱的底面周长? 平面内有10个点,有四个点成一条直线,其余任意三点不在一条直线,求:(1)连结两点能决定直线几条?(2)连结三点能决定三角形几个? 宇宙景象被我们观测到景象,同步时间是否已过万亿年?经常看到一些科学家称,观察到新的黑洞或超新星的,都知道要到达那裏按光的速度要走上数万或亿年,所以我们现在观察到的景象是否已 骚塞回信中的小草和大树都是上帝的安排有什含义呢 泡菜坛里起白沬时如何解决 放射性射线导致生物体变异的机制是 【初二T^T物理】 要算该隧道的长度时,为什么不用考虑火车的长度,它不是说“通过隧道”了吗?… 幸福坚强的反义词是什么? 生物体不断产生变异,而变异又是在一个细胞中的,那么这一个细胞产生变异,又怎么会产生那么大的效果呢?因为有很多DNA控制一份性状,而很多细胞都有这种DNA,怎么会只有这一个细胞影响了呢? 严厉的反义词是什么? 某城市最大时污水量为1800m3/h,原污水悬浮浓度 c1=250mg/l.排放污水悬浮物允许浓度c2=80mg/l计算去除率及沉淀池体积?沉淀时间1.5h 坚强的反义词是什么? 物理中火车通过路程的时间某列火车在一段长为30km的路段上行驶,行驶的平均速度为60km/h,下列说法中正确的是(  )A.这列火车通过这段路程所用的时间为0.5hB.这列火车一定以60km/h的速 污水处理中按每人每天粪便排出量多少计算 把金属放到微波炉里有什么后果?请注意…“后果”现象 严厉的反义词仁慈...慈祥宽容平易 ...严厉——温和 ...慈爱,慈祥 ...反义词:和蔼 ...和蔼慈祥 ...和蔼,宽容,大度....和蔼...温和...仁慈...宽容...慈祥 用一张长6,28cM,宽5cm的长方形纸卷成一个圆柱形纸筒(用长方形的长作底面周长),圆柱形纸筒的侧面积是( ),底面积是( ) 绿叶为大树而生.春天的时候,下一句是什么 严格的反义词是什么 氢氧化铜是电解质吗氢氧化铜加热会生成氧化铜和水,而且不溶于水是否因为难溶非不溶,所以氢氧化铜在水中可溶 问题是为什么 坚强的反义词 严厉的反义词是?没了 氢氧化铜是不是电解质? 反义词坚强 有些动物如章鱼,带鱼,墨鱼鱿鱼,名称里都有鱼字,他们都是鱼吗 本领 的反义词 “坚强”的反义词是( )说恶搞点,这不会是你想的那个的..... 八爪鱼是不是鱿鱼,它与乌贼、墨鱼一样吗? 氢氧化铜是什么类型的电解质 绿叶为大树而生.这段话主要写树叶什么特点 严厉的近义词和反义词是什么 本领的反义词是什么?我只知道近义词—本事,我想这道题目肯定是乱出的 关于跑操的作文是那种提意见的 400字左右就够了 严厉的近义词和反义词 长方形的长相当于圆柱的底面周长还是底面周长的一半啊 关于课间跑操的场面描写作文 ,严厉的近义词和反义词 长方形的宽一定等于圆柱的底面周长吗?为什么 跑操训练中的啟示为题作文怎样写 严格的近义词和反义词是什么? 长方形的长等于圆柱的(),宽等于圆柱的().当圆柱的底面周长相等时,把他的侧面展开长方形的长等于圆柱的(),宽等于圆柱的().当圆柱的底面周长相等时,把他的侧面展开会得到一个()形 元素的化合价为什么会随原子的核电核数递增呈现周期性的变化 与马同属一个纲的动物是() A 海马 B 蝙蝠C 蜗牛D 鲨鱼 苏田同学各取少量未知溶液于两支试管中,分别滴入稀硫酸,若有气体产生的为碳酸钠溶液.她想进一步测知碳酸钠溶液的质量分数,取出20克碳酸钠溶液于烧杯中,往烧杯中滴加10%的稀硫酸至没有 (六年级品德与社会作业)1.中国有很多企业到国外创业,享有很高的声誉,你能列举出一些企业吗?1.中国有很多企业到国外创业,享有很高的声誉,你能列举出一些企业吗?2世界各种联合科学组织为 圆柱的底面积等于圆柱的底面周长吗 将锌粒放入盛有蚁酸溶液的试管中,有气泡产生,该气体是什么 有一个已知序列的新基因,如何知道其生物学作用 如果圆柱的底面周长是c,高h,那么它的侧面积s等于【 CL2的溶液能导电但是它不是电解质,参考答案说错,可是我觉得对的不是会反应声成HCL,HCLO吗?怎么不会导电呢? 如图所示,在圆柱的下底面圆周A点处有一只蚂蚁,它要从圆柱体的侧面绕一圈爬到点A的正上方上底面圆周长的B点,你能帮助它找到一条最短的路线吗?画得很难看 ,不要建议 章鱼也算鱼类吗?如果不是,它是什么类的动物? 想知道:黑龙江省 新林塔河一线 在哪 如图,圆柱下底面圆周上的点A到上底面圆周上的B的最短路线为15cm,又底面圆半径为3cm,求BC的长.(π取3) 什么可以超光速,未来可以实现吗, 苏联成功发射第一个星际探测器月球1号? 如图,圆柱底面直径为6/π分米,高为4分米.如果一只蚂蚁从A点沿圆柱侧面爬到B点,它爬的最短距离是多少分米解释也要是一个圆柱,A在左下角,B在右上角 温州文保单位公开招租民办博物馆 11恒大回国孔卡最受球迷欢迎 里皮微笑挥亚锦赛中国女篮首战失利 70-72遗廊坊数百学生不满校园管理聚集抗议 官报告称政府网站影响力偏弱 缺少对热点秋阳退去秋雨来 周四启动阴雨模式失踪小驴友尸体终于找到 距发现头骨处乐清“袭胸男”深夜骑车专找年轻女性下有困难“拨拨就灵” 金华启动8890每年10月也是雷电高发期 西湖五处码杭州近期昼夜温差超10℃ 早晚记得添美媒:监听活动曝光迫使美停止炒作“中揭秘中国农村殡葬腐败:村民为\"入土湖北恩施酒风盛行百姓叫苦:母猪下崽也调查称过半日本人反对秘密保护法案 忧杭州“错时停车”推行5年难度越来越大浙江企业注册资本首付两成就能给公司冠受上万月薪诱惑 有大学生不想读书想当加拿大密西沙加市华人专商协会为弱者筹昼夜温差超10℃ 早晚记得添衣西湖五处码头装避雷针 外包仿真藤色调中石油在土库曼斯坦天然气处理厂竣工投一个中国“80后”在苏丹的日子贵州遵义原市委书记廖少华被双开男贼女生宿舍40天狂扫百余台电脑打着开店的幌子女子瞒着家人贩毒真正让人抑郁的,是不知为何抑郁9宗地块“相亲”,宗受“冷落”5驾车环湖赏景,九月一路畅通池州市棚户区改造或将融资14.7亿元抑郁的人在增多,治疗的仅占少数合肥多家银行暂停二手房贷街道主任上班时间开钟点房?购买“积木房” “最低首付”将享还在充着电电动车烧起来了为抵消巨额债务私刻印章 骗取项目被判“老博会”将展高端养老产品合肥到黄山公路“一级”棒你的健康,才是对我最好的回报工地火烧连营, 40间宿舍顷刻被毁风刮大树倒砸中小轿车“5只幼狮被盗案”最后一案犯获缓刑
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘