一分钱,一分货(报表打印控件的原代码已在这儿公布,请已在这儿排排座的DFW们来拿钱拿货) (100分)

B

blueboy

Unregistered / Unconfirmed
GUEST, unregistred user!
  很久以前做的一个控件,可以打印放在FORM上的象DBGrid、StringGrid等
小东东的控件,用起来很简单。过了保密期啦,源码大公开。有得分,有得拿,
想吃的快来排排座,满100为限。
 
先把程序的开头的说明放在这儿
{==============================================================================
程 序 名:printF
类 型:控件
类 名:TPrintF
继 承 类:TComponent
功 能:支持放于ScrollBox控件中的各种小控件的打印,如TLabel、TPanel、TEdit、TCombobox、THeader、
TDataTimePicker、TImage、TShape、TMaskEdit、TstringGrid、TDbgrid、TMemo
编 程:佚 名
初版日期:1997.
版 本:Ver 1.0
-------------------------------- 修 改 记 录 ----------------------------------
版 本:Ver 2.0
修改日期:1998.10
修 改 者:BlueBoy、YelloBoy
修改内容:
1.增加打印预览功能;
2.增加按指定放大倍数进行打印的功能;
3.增加选择打印起止页码的功能;
4.增加打印页码位置、格式、字体大小的功能;
5.增加自动重复打印表头、页头、表尾、页尾的功能;
6.增加StringGrid、Dbgrid自动添加空行置满页的功能;
7.用坐标原点的方法修改获取各控件的Top、Left的计算方法;
8.增加Panel嵌套打印功能;
9.修改PrintImage;
-------------------------------- 接 口 文 档 ----------------------------------
定 义:(ScrollBox中需要打印的各种构件的Tag=)
1. 表头(自动根据表体调整位置)
2. 页头(固定在每页头位置)
3. 表体(循环)
4. 页脚(固定在每页脚位置)
5. 表尾(自动根据表体调整位置)
6. 对于Edit和DBedit,当helpcontext=100时,打印边框
变量定义:
FScrollingName:TscrollingWinControl;
(SCROLLBOX)
C : array[0..255] of char;
(处理数据串的中间变量)
PageNumber:integer;
(打印机的页数)
tmpString:string;
(中间串)
Format : Word;
(打印机的打印格式)
R: TRect;
(打印、预览块)
CLen : integer;
()
ScaleX, ScaleY:Real;
(预览窗口、打印机纸张与用户窗口的比例)
pageBottom: integer;
(纸下方应留的高度)
PDC : HDC;
(预览窗口、打印机的描述表)
PDCCanvas:TCanvas;
(预览窗口、打印机的画布)
SW : TScrollingWinControl;
(SCROLLBOX)
WidthSet,HeightSet:integer;
(纸LEFT、TOP应留的高度)
RowTop: integer;
(ROWTOP)
FGroupString:TStrings;
(TSTRINGS)
ifPreview:boolean;
(是否预览的中间变量)
pagetotal:integer;
(预览的总页数)
startpage:integer;
(预览的开始页)
endpage:integer;
(预览的结束页)
pageRowNum:integer;
(对于GRID类的构件每页的行数)
scalebynum:integer;
(预览的放大次数)
ifmove:boolean;
(是否移动)
mousex,mousey:integer;
(鼠标位置)
foottop:integer;
(表脚在预览窗口、打印机的逻辑物理TOP)
footheight:double;
(表脚的逻辑Height)
realfoottop:integer;
(表脚在预览窗口、打印机的物理TOP)
属 性:
1. ScrollingName (连接的ScrollBox的名称)
2. Scale (打印的比例)
3. ifAutoScale (是否根据纸张自动调节比例)
4. ifShowForm (是否显示预览窗口)
5. ImageList (连接的ImageList的名称)
6. PageNopos (打印页注的位置)
7. PageNoConent (打印页注的内容)
8. PageNoConentFontSize (打印页注的字体大小)
9. ifShowPageNo (是否显示页注)
10. ifLasterPrint (是否LasterPrint)
11. ifPrintEmptyLine (是否打印空行置满页)
方 法:
1. Create
2. Excute (开始执行打印作业)
 
多谢
等待其他代码!
 
i'm wait too.
 
mail me code,ok,thank u water_star@263.net
 
不要连载吧!多谢
 
coolforgot@sina.com
 
谢谢你了!:)
 
还有分?好人啊!
 
谢谢,有分有赚,
那其他原码哪?
不会下会"请听分解吧"
期待.......
 
fang1977@163.net
.........
 
谢谢!
cuicuiczy@sohu.com
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
865
DelphiTeacher的专栏
D
顶部