procedure Tmainform.mmprintcurrentClick(Sender: TObject); var x1,x2,x3,w,y,linespace,i,count:integer; mu,mc,yb,qh:string; begin count:=mainform.listView1.Items.Count ; if count=0 then begin showmessage('列表框中无打印内容!'); exit; end; y:=0; printer.BeginDoc ; w:=printer.Canvas.TextWidth('字'); x1:=13*w; x2:=16*w; x3:=21*w; linespace:=getdevicecaps(handle,logpixelsY) div 10 +printer.Canvas.TextHeight('阿'); for i:=0 to count-1 do begin mu:=mainform.ListView1.Items[i].caption; mc:=mainform.ListView1.Items[i].subitems.strings[0]; yb:=mainform.listview1.items[i].subitems.strings[1]; qh:=mainform.listview1.items[i].subitems.strings[2]; if y=0 then begin printer.Canvas.TextOut(0,0,'名称'); printer.Canvas.TextOut(x1,0,'区号'); printer.canvas.textout(x2,0,'邮编'); printer.canvas.textout(x3,0,'所属'); y:=y+linespace; end; if not printer.Aborted then begin printer.Canvas.TextOut(0,y,mc); printer.Canvas.TextOut(x1,y,yb); printer.Canvas.TextOut(x2,y,qh); printer.Canvas.TextOut(x3,y,mu) end; y:=y+linespace; if y>0.8*printer.PageHeight then begin y:=0; printer.NewPage ; end; end; printer.EndDoc ;
----------------------------------------------