du kan benytte TStringsgrid paintto method til at tegne sig selv til printers handle. se delphi eget eksemple dog med en pagecontrol
This example uses a button, a Page Control, and a Print dialog box on a form. When the user clicks the button, the print dialog is displayed. The user can select any subset of the pages in the page control for printing. The selected pages are then printed. To run this example successfully, you must add the Printers unit to the uses clause of your unit.
procedure TForm1.Button1Click(Sender:TObject);
var I, Start, Stop: Integer; begin PrintDialog1.Options := [poPageNums, poSelection]; PrintDialog1.FromPage := 1; PrintDialog1.MinPage := 1; PrintDialog1.ToPage := PageControl1.PageCount; PrintDialog1.MaxPage := PageControl1.PageCount; if PrintDialog1.Execute then begin { determine the range the user wants to print } with PrintDialog1 do begin if PrintRange = prAllPages then
begin Start := MinPage - 1; Stop := MaxPage - 1; end else if PrintRange = prSelection then begin Start := PageControl1.ActivePage.PageIndex; Stop := Start; end else { PrintRange = prPageNums } begin Start := FromPage - 1; Stop := ToPage - 1; end; end; { now, print the pages } with Printer do
begin BeginDoc; for I := Start to Stop do begin PageControl1.Pages[I].PaintTo(Handle, 10, 10); HER LIGGER GULDET if I <> Stop then NewPage; end; EndDoc; end; end; end;
Jeg har desvære ikke tid til at omskrive koden, men du kan oprette en tbitmap variable og benytte stringgrid.paintto til at tegne på bitmappen, derefter skal du benytte tbitmap strechcopy til at kopiere indholdet over på printer.canvas i den ønskede størrelse
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.