直接打印DBGrids的内容(100分)

  • 主题发起人 主题发起人 wjshh
  • 开始时间 开始时间
ehlib154控件可以。
 
我也看看
zhangceyong@163.net
 
先把程序的说明文档放在这儿,希望得到原程序的,请到“报表问题的终极解决方案”这个帖子中发表对方案的
一个意见或一种想法,并把你的EMAIL附上,原程马上奉上,名额有限,先到先得(要知道获得总是要付出点代
价的,呵呵~~``)


{==============================================================================
程 序 名: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 (开始执行打印作业)
 
各位高手:
我是一个新手,问一声,这些控件怎样安装和使用?我现在也正要做这些东西呵~~
 
好东西! 报表问题的终极解决方案 --! 我要!
3lou@163.com
 
大家收到了blueboy的原程序了吗?
 
在这儿呢:
一分钱,一分货(报表打印控件的原代码已在这儿公布,请已在这儿排排座的DFW们来拿钱拿货)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=941617
 
好东西!
 
fastreport本身就带这种控件的。
 
接受答案了.
 
后退
顶部