请教如何打印panel 中内容 delphi7+sql2000 如何实现 打印panel 中全部的内容 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 复制form,截取panel其中的区域 你panel中有啥呀,如果是数据表格的话,直接报表打印吗 主要是一些combobox edit.text memo 用PaintTo方法绘制到图片里,然后打印图片就行了! 打印panel东西 不难 BMp:TBitMap; Bmp:=TBitMap.Create; Bmp.Width:=Pnl.Width; Bmp.Height:=Pnl.Height; Pnl.Paintto(Bmp.Canvas,0,0); 可以导出panel上所有控件 能说得具体点吗,如单击 button 按扭,代码怎么写 Uses Printers;procedure TForm1.Button1Click(Sender:TOBject);var BMp:TBitMap;begin Bmp:=TBitMap.Create; Bmp.Width:=Pnl.Width; Bmp.Height:=Pnl.Height; Pnl.Paintto(Bmp.Canvas,0,0); //打印 Printer.BeginDoc; ScaleX := GetDeviceCaps(Printer.Canvas.Handle, logPixelsX) div PixelsPerInch; ScaleY := GetDeviceCaps(Printer.Canvas.Handle, logPixelsY) div PixelsPerInch; dx := trunc((Printer.PageWidth-Bmp.Width*Scalex)/2); dy := trunc((Printer.PageHeight-Bmp.height*Scalex)/2); r.Left := dx; r.Top := dy; r.Right := dx+trunc(Bmp.Width*Scalex); r.Bottom := dy+trunc(Bmp.Height*ScaleY); Printer.Canvas.StretchDraw(r,Bmp); Printer.EndDoc; end; 提示; undeclare identifier scalex ;... ScaleX,ScaleY,dx,dy,r:real; 后,又提示undeclare r var r : TRect; ScaleX , ScaleY : double; dx,dy : integer;把这些声明了 就可以 打印出来的都是空白的, edit.text combobox.text 内容都没有的? ..........楼主,你不如用BITBLT,根据panel的坐标把图抓下来吧,只要屏幕上能看到,就一定能打印出来。哈哈 能提供下,buttononclik 的代码吗,谢谢 如何将数据以树的形式存储在内存中 如何在创建文件加进度条? adoquery怎样调用oracle存储过程? 哥哥们,超级菜鸟提问了:如何以2进制读取JPG文件? 在2000下怎样得到硬盘或 主板的序列号 当代中国大学毕业生地悲哀-人事局强行扣留毕业生档案,是何道理? 报表格式,急!!!!!!解决分马上给 如果不是的,就不用来了:) 怎样将坐标原点从左上角转换到中心,并使Y轴方向反转 怎样得到上个月今天的日期date型 fastreport,如何打印超市标价签,谢谢 delphi cos函数问题
Bmp.Width:=Pnl.Width;
Bmp.Height:=Pnl.Height;
Pnl.Paintto(Bmp.Canvas,0,0);
可以导出panel上所有控件
var
BMp:TBitMap;
begin
Bmp:=TBitMap.Create;
Bmp.Width:=Pnl.Width;
Bmp.Height:=Pnl.Height;
Pnl.Paintto(Bmp.Canvas,0,0);
//打印
Printer.BeginDoc;
ScaleX := GetDeviceCaps(Printer.Canvas.Handle, logPixelsX) div PixelsPerInch;
ScaleY := GetDeviceCaps(Printer.Canvas.Handle, logPixelsY) div PixelsPerInch;
dx := trunc((Printer.PageWidth-Bmp.Width*Scalex)/2);
dy := trunc((Printer.PageHeight-Bmp.height*Scalex)/2);
r.Left := dx;
r.Top := dy;
r.Right := dx+trunc(Bmp.Width*Scalex);
r.Bottom := dy+trunc(Bmp.Height*ScaleY);
Printer.Canvas.StretchDraw(r,Bmp);
Printer.EndDoc;
end;
提示; undeclare identifier scalex ;... ScaleX,ScaleY,dx,dy,r:real; 后,又提示undeclare r
r : TRect;
ScaleX , ScaleY : double;
dx,dy : integer;把这些声明了 就可以
能提供下,buttononclik 的代码吗,谢谢