知识大全 文本编辑器的设计(二)[4]
Posted 属性
篇首语:弱龄寄事外,委怀在琴书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 文本编辑器的设计(二)[4]相关的知识,希望对你有一定的参考价值。
DELPHI基础教程:文本编辑器的设计(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
文件打印
在Delphi中 文件打印有两种方式
将文件变量分配给打印机 用此变量名创建或打开文件后 往此文件变量写入的任何文本都视为向打印机输出 以下过程可实现文件的打印
procedure TEditForm Print Click(Sender: TObject)
var
Line: Integer;
PrintText: System Text;
begin
if PrintDialog Execute then
begin
AssignPrn(PrintText)
Rewrite(PrintText)
Print CanvasFont := Memo Font;
For Line := to Memo Lines Count do
Writeln(PrintText Memo Line[line];
System Close(PrintText)
end;
end;
利用Printers单元中定义的TPrinter对象进行文件打印 本章例程采用这种方法打印文件
TPrinter对象
TPrinter对象可调用Windows的打印机 在Printer 单元中定义了TPrinter 的实例Printer 用户可直接使用
调用TPrinter的BeginDoc方法可开始一项打印工作 调用EndDoc 方法可结束一项已成功发送给打印机的工作 如果在发送过程中出现问题或用户想中途终止打印工作 可调用Abort方法
通过检查Printing属性可测试当前是否有打印工作 如果打印工作被终止 Abort属性为真
Canvas属性代表打印表面 Brush Font Pen属性可决定打印字体或图像的特征
Printers属性中包含着已安装的打印机列表 PrinterIndex 属性是当前选择的打印
机 Fonts属性中有当前打印机支持的字体 Orientertion属性可决定打印方向
PageHeight PageWith中包含着当前的高度和宽度 PageNanber为当前页的值
设置Title属性可决定在Windows打印管理器或网络中出现的文本
TPrintDialog打印对话框
TPrintDialog部件显示一打印对话框 用户在对话框中 可以选择打印机 打印页数 打印份数 当用户选择对话框中的Setup按钮 则出现打印设置对话框
调用Execute方法显示打印对话框 如图 使用Option属性可设置打印对话框显示的形式 Options的设置如表 所示
PrintRange属性可定义打印的范围 如果PrintPage的值是prPageNums 则可以设置FromPage和ToPage属性来确定打印范围 设置MinPage MaxPage属性可限制用户的打印范围
表 打印对话框的Option属性的取值及含义
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
取值 含义
──────────────────────────────────────
PoHelp 如果是真值 对话框出现帮助按钮
PoPageNums 如果是真值 页数按钮有效 用户可以设置打印范围
PoPrintToFile 如果是真值 文件打印检查框将出现在对话框中 用户可以选
择文件打印
PoSelection 如果是真值 选择按钮有效 用户可打印文件中所选择的文本
PoWarning 如果是真值 在打印机尚未安装时 用户选择OK 按按钮将出现警告信息
PoDisablePrinttoToFile 如果是真值 而PoPrintToFile亦是真值时 当对话框出现时 文件打印对话框将无效
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本章例程是利用Printer的画布进行文本打印的 用户选择打印菜单后 将弹出打印对话框 用户可设置各种参数 当用户选择打印按钮后 打印工作进行发送 此时将弹出打印取消对话框 见图 用户可中止打印工作 有关打印和打印取消的代码如下
procedure TEditForm Print Click(Sender: TObject)
var
DistanceLine Line: Integer;
PrintText: System Text;
begin
if PrintDialog Execute then
begin
Printer Canvas font := Memo Font;
DistanceLine := Trunc( *FontDialog font size)
OpenPrintCancelDialog;
Printer BeginDoc;
for line := to Memo Lines Count do
begin
Printer canvas textout( DistanceLine*Line Memo lines[Line])
end;
Printer EndDoc;
BtnBottomDlg free;
end;
end;
procedure TEditForm OpenPrintCancelDialog;
begin
BtnBottomDlg := TBtnBottomDlg Create(Application)
BtnBottomDlg show;
BtnBottomDlg canvas Brush Color := clActiveBorder;
BtnBottomDlg canvas TextOut( Print +FileName)
BtnBottomDlg canvas TextOut( if you want to
stop please choice Cancel Button )
end;
返回目录 DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
Java程序性能优化 让你的Java程序更快 更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
cha138/Article/program/Delphi/201311/25251相关参考
DELPHI基础教程:文本编辑器的设计(二)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:文本编辑器的设计(二)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&
DELPHI基础教程:文本编辑器的设计(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:文本编辑器的设计(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Eclipse使用系统内置的TextEditor做为文本编辑器这个文本编辑器有一个长期存在的问题那就是文本无法换行虽然这个问题长期存在而且解决起来并不困难但是这却给人们带来不少麻烦 &n
今天在做项目的时候遇到上传文本框的问题 <inputtype=filesize=name=photoupload/> 在firefox中该控件产生的文本框是默认不可编辑的但是在IE
最近由于自己想做一个网站形式的代码库自已写一个在线文本编辑器对于现在的我来确实是很不切实际呵呵!再说了现在有一个非常好的在线文本
在使用Word2010进行文字编辑时,下列叙述错误的是_____。A、允许同时打开多个文档B、可将正在编辑的文档另存为一个纯文本文件C、使用“打开”命令可以打开一个已存在的文档D、打印预览文档时,打印
Java多线程程序设计二十三个要点[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
十使用文本格式进行处理 对一般的数据处理可以使用数据库如果对复杂的数据处理必须借助程序那么在程序操作数据库和程序操作文本之间选择是一定要选择程序操作文本的原因为程序操作文本速度快;对文本进行处理