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

在DELPHI 文 本 和 图 形 的 打 印

HTML文档下载 WORD文档下载 PDF文档下载
在DELPHI 文 本 和 图 形 的 打 印

对 于 每 一 个WINDOWS 应 用 程 序 开 发 者 来 说, 打 印 功 能 的 实 现 都 是 极 为 棘 手 的, 因 为 要 涉 及 到 相 当 多 的 代 码 而 且 常 常 是 相 当 的 复 杂, 但 是 在DELPHI 中 实 现 文 本 和 图 象 的 打 印 功 能 却 是 非 常 容 易 的。

1、 文 本 的 打 印 功 能。DELPHI 中 文 本 的 打 印 功 能 就 如 同 在DOS 中 实 现 文 本 的 打 印 功 能 一 样 容 易, 需 要 做 的 一 切 只 是 取 得 打 印 参 数, 打 开 打 印 机, 然 后 发 送 文 本 的 每 一 行 内 容。 在DELPHI 中 提 供 了 一 个PRINTERS 程 序 单 元, 它 说 明 了 一 个TPRINTER 对 象, 封 装 了WINDOWS 打 印 工 作 和 输 出 打 印 机 之 间 的 接 口, 并 提 供 常 用 的 属 性 和 方 法, 其 中 画 布CANVAS 是 一 个 非 常 有 用 的 属 性, 它 代 表 了 当 前 打 印 文 件 的 表 面, 是 以 图 形 方 式 来 工 作 的, 整 个 的 打 印 输 出 工 作 仅 仅 是 将 你 打 印 的 内 容 输 出 到TPRINTER 的 属 性CANVAS 上, 当 全 部 的 输 出 工 作 完 成 以 后, 打 印 对 象(TPRINTER) 把CANVAS 的 属 性 值 送 到 打 印 机 上 去。

下 面 举 例 来 说 明 如 何 通 过DELPHI 实 现 文 本 内 容 的 打 印。 在DELPHI 中 提 供 了PRINTDIALOG、PRINTERSETUPDIALOG 两 个 控 件 允 许 我 们 进 行 打 印 机 以 及 其 他 影 响 打 印 输 出 的 选 择, 此 外 最 重 要 的 一 点 是 要 想 实 现 打 印 功 能 必 须 在 编 译 程 序 以 前 将PRINTERS 加 入 到INTERFACE 或 者IMPLEMENTATION 的UESE 语 句 当 中, 因 为PRINTER 单 元 包 括ASSIGNPRN 和 其 他 控 制 打 印 机 的 过 程。

首 先 在FORM 当 中 加 入MEMO、PRINTDIALOG、PRINTERSETUPDIALOG 和 两 个BUTTON 控 件, 两 个 BUTTON 的CAPTION 分 别 为“ 打 印 设 置” 和“ 打 印”。 然 后 编 写BUTTON 的 事 件 驱 动 程 序( 代 码 在 下 面), 这 个 简 单 的 例 子 中 只 要 单 击“ 打 印” 按 钮 时 便 可 以 在 打 印 机 上 输 出 文 件0S2.TXT, 打 印 事 件 的 清 单 如 下:

implementation

uses printers;

{$R *.DFM}

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

printersetupdialog1.execute; //选择输出的打印机以及其他打印控制选项

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

var

lines:integer;

prntext:system.text;

//将PRNTEXT声名为一个在SYSTEM程序单元当中定义的文本文件

begin

if printdialog1.execute then

assignprn(prntext); //将PRNTEST分配给打印机

rewrite(prntext); //调用REWRITE函数,为输出打开已分配的文件

printer.canvas.font:=memo1.font;

//把当前MEMO1的字体指定给打印对象的CANVAS的字体属性

for lines:=0 to memo1.lines.count-1 do

writeln(prntext

memo1.lines[lines]);

//把MEMO的内容写到打印机对象

system.close(prntext); //关闭打印文件

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

memo1.lines.loadfromfile('c:\dos\os2.txt');

//在FORM建立时读入C:\DOS\OS2.TXT文件

end;

end.

2、 图 形 的 打 印 功 能

简 单 的 图 形 打 印 功 能 也 如 打 印 文 本 一 样 的 容 易, 只 是 告 诉 打 印 机 对 象(TPRINTER) 开 始 打 印, 把 图 形 简 单 的 复 制 到 打 印 机 上 去, 最 后 告 诉 打 印 机 结 束 打 印 工 作。

举 例 说 明: 将 上 面 的 例 子 的MEMO 控 件 换 成IMAGE 控 件, 再 经 过 一 些 简 单 的 修 改, 图 形 打 印 的 代 码 如 下:

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

if printdialog1.execute then

begin

printer.begindoc;

printer.canvas.draw(0

0

image1.picture.graphic);

printer.enddoc;

end;

end;

在 这 种 情 况 下, 使 用 的 是 打 印 机 的 分 辨 率, 图 形 在 页 面 的 左 上 角 开 始 打 印 输 出, 打 出 的 图 形 很 小, 在 很 多 的 情 况 下 不 能 符 合 要 求, 但 是 打 印 机 画 布CANVAS 的STRETHDRAW 的 方 法, 可 以 让 我 们 对 图 形 进 行 灵 活 的 处 理, 画 布(CANVAS) 的STRETCHDRAW 方 法 声 名 为:

procedure StretchDraw(const Rect: TRect; Graphic: TGraphic);

其中的RECT参数代表图形输出区域的大小,TRECT的类型声名为:

TRect = record

case Integer of

0: (Left

Top

Right

Bottom: Integer);

1: (TopLeft

BottomRight: TPoint);

end;

因 此 我 们 只 要 调 整RECT 的 大 小 及 其 在 打 印 页 面 上 的 位 置, 进 而 达 到 自 己 满 意 的 效 果, 下 面 的 代 码 是 不 断 的 放 大 图 形, 充 满 我 们 定 义 的 矩 形 区 域, 并 将 其 定 位 在 打 印 机 画 布(CANVAS) 的 中 央 进 行 输 出。 代 码 如 下:

procedure TForm1.Button1Click(Sender: TObject);

VAR

strect:Trect; //定义打印输出矩形框的大小

temhi

temwd:integer;

begin

if printdialog1.execute then

begin

temhi:=image1.picture.height;

temwd:=image1.picture.width;

while (temhi printer.pageheight div 2)and

//将图形放大到打印页面的1/2大小

(temwd printer.pagewidth div 2) do

begin

temhi:=temhi+temhi;

temwd:=temwd+temwd;

end;

with strect do //定义图形在页面上的中心位置输出

begin

left:=(printer.pagewidth -temwd) div 2;

top:=(printer.pageheight-temhi) div 2;

right:=left+temwd;

bottom:=top+temhi;

end;

with printer do

begin

begindoc;

//将放大的图形向打印机输出

canvas.stretchdraw(strect

image1.picture.graphic);

enddoc;

end;

end;

end;

以 上 代 码 在DELPHI2.0 上 编 译 通 过, 通 过 这 些 小 小 的 例 子, 相 信 大 家 对 于 在DELPHI 中 打 印 图 形 和 文 本 有 一 定 的 了 解, 同 样 通 过 打 印 机 的 画 布(CANVAS) 属 性 也 可 以 实 现 数 据 库 表 单 的 打 印, 在 这 里 不 一 一 赘 述, 如 果 大 家 有 兴 趣 不 妨 一 试。

调用“添加打印机”对话框 -VB资料 调整分辩率和取当前分辩率 -VB资料 定义全局热键-VB资料 动记录应用软件工作时间-VB资料 动态改变屏幕设置-VB资料 读取档案的建立时间及存取时间 -VB资料 多个参数的属性 -VB资料 发现剪帖板的秘密 -VB资料 发现拖(Drap)过来的信息 -VB资料 防止打开同个VB应用多个实例 分割图像的原理 -VB资料 封面的设计 -VB资料 改变 Win95 的 Shell -VB资料 改变墙纸 -VB资料 格式化磁盘 -VB资料 跟我学用ActiveBar-VB资料 VB获得IE的版本号 VB获得Windows启动方式 VB获得打印机驱动程序的设定 VB获得当前计算机上的区域设置 VB获得当前用户名 VB获得分区信息并判断是否有CD VB获得某个文件夹下的所有子目录 VB获得驱动器的卷标 VB获得系统中的所有字体列表 VB获得系统中鼠标的键数 获取驱动器信息-VB资料 文章主题: 获取桌面图象 -VB资料 计算两个日期间的工作日-VB资料 监视外部程序的运行情况-VB资料 检测文件是否存在 -VB资料 copysign怎么用啊? 如何将一个网页的所有链接均自动加为绝对链接? 技术与数学的问题 本人写了一个设置纸张方向和大小的函数,其中MyDevMode.dmPaperSize = psize '若vbPRPSA3 设置纸大小为A3,但在VB对象库中找不A2张对应值 tomcat4.1.24中的sevlet问题 我下载了linux的iso文件,可怎么安装啊!! 我想问一下,有关于计数器的相关的信息? 救急:是否可以在两个页面(两个单独打开得ie浏览器页面)传递参数,如何实现啊? JDBC相关的两个问题 Oracle8.1.6怎样连接SQL SERVER2000 ?(在线等待) inserted表问题 急!!!关于FileSystemObject问题,在线等 dll 编译问题 请教 请教关于iterator与container? 谁有mixerAPI的中文资料,如(mixerGetLineInfo)我需要弄懂原理(不需要MSDN) 请问“怎么样才能修改以有的flash文件”,拜托,在线等待 如何使相同的子窗口显示一个? ?请教高手有关Align的问题。 高手帮我谢谢注释~~高分相赠~~~~谢谢高手~~~~ 各位大牛们,小弟想请教大家对FlowMIS这个平台有多少了解,用此平台进行二次开发(企业信息系统)好不好。 SQL SERVER2000 怎样连接Oracle8.1.6(在线等待) C语言程序设计 如何在英文字符集的客户端访问服务器为中文的数据库? 那4M是不是让诺基亚给偷了?! 如何调用ResetPrinter函数设置默认打印机 listview使用的问题 delphi的打包问题 请大家推荐一个短信网关 调查:当你身边响起神圣的国歌时,你会不会不由自主站起来,手放到胸前,跟着节奏一起唱起来?(有感而发) 请问如何调用.chm的帮助文件? 如何调用系统默认打印机的属性! 请教新手问题~~~麻烦哪为大侠给解释解释~谢~ 如何用struts实现阴阳色列表? 怎么用vb建立一个数据库呀?注意,不是一个表,是一个数据库! 如何调用系统默认打印机的属性! 一个很老很过时的数码相机。 郁闷,超级简单题目 初学ASP,请教学习心得 我的机器怎么老死机?? 两级表单动态联接?急,急,急!!!!!????? ---见了鬼了,Jre不好用!!!--- 寻求把中文字符串转换为十六进制的串的ORACLE函数? 电力学院惊魂 一條語句 數據庫日誌就寫滿了 怎样获得系统的字体!急!谢谢了! 谁有用java做的聊天系统程序(当作业)分不够可再给 在CB中如何动态的管理窗体 如何调用系统默认打印机的属性! API动态调用问题(很奇观) 好久没有发帖子了,现在心情奇好,兄弟们来接分! 在CB中如何动态的管理窗体 at the most等同于ultimately吗? 我都14岁了,怎么还没长卵毛,我同学比我小都很长了我都14岁了,怎么还没长卵毛,我同学比我小都很长了.我爸爸六年级就有了 variability是什么意思啊? 6×4和6×2牵引车主要运用于什么运输,运输距离怎么样 拟写治水必躬亲提纲(明确本文内容,观点及论证方法) sampling variability是什么意思 一辆汽车绕一棵大树不停的开,且使车子与大树之间保持有20m的距离 司机应该怎样确定开车的路线 半挂车车头有6*4的和6*2的,这两种车各有什么特点 治水必躬亲本文论述了什么道理 说明治水不但要还要 物理题一汽车行驶时遇到紧急情况,驾驶员迅速正确地使用制动器在最短距离内将车停住,称为紧急制动.设一汽车行驶时遇到紧急情况,驾驶员迅速正确地使用制动器在最短距离内将车停住,称 甲有五盒糖,乙有四盒糕,共值22元,如果甲乙两人对换一盒,则每人物品的价值相等,求如果甲乙两人对换两盒,甲乙两人所有的物品的价值是否相等?若不等,哪个多?多多少? 什么物质只有癌细胞吸收 谁的胳膊比腿长(动物) 婷婷有5盒糖,佳佳有4盒糕,共22元,两人对换一盒,每人所有物品的价值相等,一盒糕,一盒糖分别多少元? 求治水必躬亲单个字单个字的解释,越全越好 动物生出来 有没有却胳膊少腿的? 200以下求推荐偷窥女生宿舍的望远镜,求清晰女生宿舍距离差不多不到100米,平常也看看运动会演唱会什么的,没办法不是我屌丝,是有一群屌丝舍友……总之就这样吧,不要太贵了. 为什么会产生癌细胞 哪些动物有胳臂 影子的方向随着什麽的方向改变而改变?(一定要正确!) 每个内角都相等的n边形中,每个外角等于内角的5分之2,则n= pig-headed 的 英文释义 什么动物没有嘴,却可以吃东西? 名词解释:雄辩术原理 下午放学回家,小明做作业,开始时看见钟面上分针略超过时针,完成作业时,发现分针与时针恰好互换位置,那么小明做作业用了多少时间? 高中在差班,努力学能考上北大么或复旦. 器械术的名词解释? “艰难困苦,玉汝于成”解释 嘴张得大的动物,猜一下是哪只或哪几只,谢谢啦 作者是如何举例论证治水必躬亲的?结合课文内容分析! 某人家有两个旧钟,一个每天快20分钟,另一个每天慢30分钟.现在将两个钟同时调到标准时间,问至少经过多少天两个钟同时显示标准时间? 找一篇文章!在《读者》上刊登过,是写一个补习生努力吃苦最终考上北大了.里头有几句是写和一个同去自习室上自习,大年三十还去!学完回去还能赶上赵本山的小品.低年级的学生向他求教经 简述基因突变的主要特点. 艰难困苦,玉汝于成 求复旦博雅杯征文获奖的文章最好是古代诗歌或是宗教类的,好的话追加分数 第二段论证了什么问题第二段论述了什么问题? 时钟的指针在四点和五点之间,何时成直角?(我会列示但是不知道意思,必有重谢!)得的得数是分数,看表看不出来! 三个首字母填词!英语!1.It's a p______ that you failed the exam.But don't give up.2.He practises playing basketball every day.He's really a h_______ player.3.He is an unusual person.We all think he's s________. A:____?B:I went to the park yesterday .2 A:____?B:We read books last Tuesday.A:____?B:I went to Hainan by plane.(I went by plane.)A:____?B:I am going to plant trees this weekend.A:What did Chen Jie do last weekend ( 去划船)B:____. 这是什么动物,腿还挺长的,说的仔细一点他吃什么 为加快西部大开发,某自治区决定新修一条公路,甲、乙两工程队承包此项工程.如果甲工程队单独施工,则刚好如期完成;如果乙工程队单独施工就要超过6个月完成,现在甲、乙两队先共同施工4 正方形的边长和周长成什么比例?我的答案:它不成比例.理由:正方形的边长周长,表面上看它是成正比例的,因为C:d=4,但是,注意看,它并没有说在同一个圆内,说明有可能是□A的边长与□B的 艰难困苦 玉汝于成阅读答案 几道让人头疼的初一数学题1、在数1,2,3,…,2007前添符号“+”和“—”,并依次运算,所得可能的最小非负数是多少?2、一串数1/1,-1/2,2/2,-1/2,1/3,-2/3…(1)是否存在数7/11,若存在是第几个数? 求英文高手翻译《盗梦空间》这段文字,感谢! when the mind is at its most vulnerable. Cobb's rarewhen the mind is at its most vulnerable. Cobb's rare ability has made him a coveted player in this treacherous new world of corporate espi 一面钟的时针长15厘米,分针长18厘米,一昼夜分针与时针的尖端所走路程比是多少? 如何快速长卵毛 you most work ( h ) at english根据句意及首字母提示,完成句子 9.“艰难困苦,玉汝于成”这句话告诉我们的道理是   A.要想取得成功,就应主动去寻找困难和挫折   B at most 电负性的周期性是什么 艰难困苦,玉汝于成 是什么意思 卵毛有什么作用? 请问各位高手,如下一道生物题该选何答案,请附上详细的解析.下列细胞具有分裂能力的是:( )A 根尖成熟区细胞 B 人的皮肤角质层细胞C 癌细胞 D 高度分化的细胞 1.在10点与11点之间,两针在什么时刻成一条直线?2.从中午12:00(不含这一时刻)到晚上12:00,(包含这一时刻)这12个小时中,时针与分针共重合了多少次? 怎么才能让男人卵毛长的快点啊长了几年了怎么才这么点啊.怎么回事.怎么变多点啊、、自卑死了.刮了不是没了. 求《治水必躬亲》中以、而、于的用法,以及这三个字的所有用法,并附上例句(七年级学过的)万分感谢! 一、阅读第六课《向往奥运》的第五自然段,回答下列问题.1.作者怀念爱放体育明星的那些日子,是因为_________________________________________________________________.作者渴望2008年北京奥运会到来的时候, 卵毛会不会变白 治水必躬亲论述了什么的道理? 冀宝斋博物馆馆长离世 馆内藏品被指雷“小产权房”暂无新政 三中全会或迎来嘉兴19岁女子未婚先孕 为保胎拿姐姐省人大调研杭州“治堵” 杭州酝酿再度杭州:市区60方以上新建住宅 最少配深圳1所小学被\"过渡安置\"8年 宁波首宗被强制收回宅地出售 成交楼面温州5天发生火灾147起 其中住宅火台湾“立法院”:向当局领导人丢鞋会促美4囚犯上演浴室版“越狱” 2人被捕中央巡视组:把发现问题、形成震慑作为安倍放言的底气在哪?安理会强烈谴责刚果(金)反政府武装袭安倍突访土耳其 传为劝阻土放弃购中国约40名尼日尔移民因汽车抛锚在撒哈拉美国科学家发现DNA生物时钟美一月内监听西班牙6000余万电话拆反美海报 伊朗要与美国和好?美伊关系的变与不变安倍在赌他能把中国吓住 嚣张语言达历美一月内监听西班牙6000余万电话巴黎后卫头部受伤倒地,直接送往医院治利物浦遭遇伤病潮,中场又折两员大将俄媒:乌政府与民间武装继续互指对方破坐等“光”生钱 合肥今年光伏扶贫再海峡客家旅游欢乐节落幕 两岸旅行商签联合国证实45名遭扣押斐济籍维和人员高玉伦七旬母亲谈其被抓:这回不用惦记全国政协召开双周协商座谈会 俞正声主国家档案局发布《浴血奋战 档案里的中“百位共产党人百篇小传”首场朗诵活动黑龙江最后一名脱逃犯高玉伦被抓获 要“刀锋战士”皮斯托瑞斯故意谋杀女友罪日本政府公开福岛核事故部分当事人调查两岁幼儿误吞6厘米生锈铁钉 医生4分“刀锋战士”故意杀人罪不成立判决引南“90后对话《道德经》”首次用电视语珠海警方回应中学食堂播不雅视频:两男男子酒后解手滑入河中溺亡 父母状告施省委理论学习中心组举行集体(扩大)学比卢普斯:KG保罗甜瓜是能力最好的队上海建设用地“负增长”倒逼城市转型
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘