如何实现表格里面布满小点点的打印方式?(100分)

  • 主题发起人 主题发起人 liuxudong
  • 开始时间 开始时间
L

liuxudong

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做这样的打印模式,就是在四方的表格里面用一些小点点作为背景(疏密程度可以调节)
在此背景下可以填充文字,请问有什么办法??
用QRSHAPE+QRLABEL可以实现吗?
 
我没试过,但是我想可以这样做,在Form上先画出你要的背景,然后以透明的方式显示
Label(因为我看你只需要Label,这样也不会遮住背景上小点),调用Form的pRINT就可以
了吧。我自己从不用qUICK rEPORT,总觉得它不是很适合我要的东西,尤其在控制走纸
距离的时候。我一般直接这样
WITH PRINTERdo

..... .
.cANVAS.TEXTOUT(.....)
....
但是,在你这个例子中,好像不太适用。
好了,我只是凭借我以前的经验说,可能不准确,或者新的DELPHI有新的功能也不
一定。我用它时可使很久了,总是两年前了吧,这些年没用
 
将文字背景的Color设为clSilver试试?
 
用FORM打印的确可以,可是有两个问题
一个是我要求只能在表格线框内打印出背景点,如果用FORM,是不是整个FORM的点点都被打印了?
二是FORM直接打印的时候我发现字体效果特别差,小号字简直是不能看,您有没有更好的办法呀
针打上面作程序简直是一种痛苦
 
[:(]
徐凤华朋友没有看清楚我的问题,我需要的小点点是在表格框内均匀排列的,与文字无关
 
用针打??
那你还排那么多点干吗??? 真有必要吗?据我所知,针打是把一个字分上下两次打印
所以事实上你的点还是不会太密。不过不管这些,点的排布应该有你程序动态控制,你
别把整个窗口不满点不行吗,
至于说到字体,跟打印机没关系吗??如果说你在QuickReport里打印效果好的话,在这
里也可以啊,你先不要适用 .canvas.textout() ,
先这样:
var
myLabel :TLabel
......
//前面开始画表格线
// 这里在表线里画点
。。。。
myLabel:=TLabel.Create //可能需要参数
myLabel.font := //设置好字体
mylabel.label:= //设置标题
mylabel.left
mylabel.top
mylabel.color
mylabel.transParent:=true
........
.......
这样做你可能会觉得麻烦,但是对于大量的报表,由于它的大概样子一样,只需
改变其位置即可,所以,某种程度上是不麻烦的,你说呢
或者你可以自己加一个函数,比如
AddLabel(handle, left,top,font,LCaption)
多了以后,你会觉得还是很方便的。
 
把你要打的东西换成图形,然后用针打,有可能会自动打出好多排列整齐的小点。
 
不知道你用过FastReport没有,如果有源吗的话,你可以参考一下
Fr_Desgn.pas里的procedure DrawBackground的源码。
 
使用 quick report 的话,可以在band上放置 QRImage ,QRImage使用你需要的背景图
把它sendtoback(放在最下层)
其他QRLabel、QRDBText 的 Transparent 属性设置为 true
 
在针打上,还是不要用IMAGE吧,否则作为背景出来的图像,一定模糊不清
放lable不就可以了?
 
image时白底,画一些点上去就可以了嘛
 
我的问题解决了,用的是QRLABEL,写了几行语句,把 点 的字号做了调整,一切OK 谢谢
 
后退
顶部