超长窗体打印的几个问题.....(100分)

  • 主题发起人 主题发起人 son
  • 开始时间 开始时间
S

son

Unregistered / Unconfirmed
GUEST, unregistred user!
1、用self.print不能打印出不能显示出来的部分,将printscle设置成printtofit也不行。
2、窗体上的 ScrolBox 控件不想打印出来,该怎么解决?
要是把scrolBox visualable false 掉的话,容器内的控件都不可见了。头疼。。。
 
分页打印就行了,先选定也可以的
 
你没看明白怎么的?
大富翁上都是低级问题吗?
当然是能打印在一页上的,分什么页啊!。。。
 
打印窗体是最落后的问题与技术,建议你看看Printer函数,掌握高级打印技术
 
var
ScaleX,ScaleY :Integer;
R:TRect;
i:integer;
begin

if Printer.Printers.Count=0 then
begin
ShowMessage('请首先安装打印机');
Exit;
//跳出N11Click
end;

with Printerdo
begin
begin
Doc;

//沿打印机每英寸画布的象素总数 //打印机和屏幕的比例
ScaleX :=GetDeviceCaps(Handle,LogPixelsX) div PixelsPerInch;
ScaleY :=GetDeviceCaps(Handle,LogPixelsY) div PixelsPerInch;
R.Top:=image1.Top*ScaleX;
R.Left:=image1.Left*ScaleY;
R.Right:=trunc(image1.Width*ScaleX);
R.Bottom:=trunc(image1.Height*ScaleY);
//打印图像
if image1.Parent is TPanel then
if not (image1.Picture = nil) then
Printer.Canvas.StretchDraw(R,image1.Picture.Graphic);
end;
我多日参考得到的,你修改一下
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部