Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

помогите голодному студенту ! [D7, WinXP]


студент России ©   (2006-01-17 20:41:00) 

как распечатать таблицу в компоненте TStringGrid
HELP!!!!!


Например так   (2006-01-17 21:17:00) [1]

uses  
 Printers;  

procedure PrintGrid(sGrid: TStringGrid; sTitle: string);  
var  
 X1, X2: Integer;  
 Y1, Y2: Integer;  
 TmpI: Integer;  
 F: Integer;  
 TR: TRect;  
begin  
 Printer.Title := sTitle;  
 Printer.BeginDoc;  
 Printer.Canvas.Pen.Color  := 0;  
 Printer.Canvas.Font.Name  := 'Times New Roman';  
 Printer.Canvas.Font.Size  := 12;  
 Printer.Canvas.Font.Style := [fsBold, fsUnderline];  
 Printer.Canvas.TextOut(0, 100, Printer.Title);  
 for F := 1 to sGrid.ColCount - 1 do  
 begin  
   X1 := 0;  
   for TmpI := 1 to (F - 1) do  
     X1 := X1 + 5 * (sGrid.ColWidths[TmpI]);  
   Y1 := 300;  
   X2 := 0;  
   for TmpI := 1 to F do  
     X2 := X2 + 5 * (sGrid.ColWidths[TmpI]);  
   Y2 := 450;  
   TR := Rect(X1, Y1, X2 - 30, Y2);  
   Printer.Canvas.Font.Style := [fsBold];  
   Printer.Canvas.Font.Size := 7;  
   Printer.Canvas.TextRect(TR, X1 + 50, 350, sGrid.Cells[F, 0]);  
   Printer.Canvas.Font.Style := [];  
   for TmpI := 1 to sGrid.RowCount - 1 do  
   begin  
     Y1 := 150 * TmpI + 300;  
     Y2 := 150 * (TmpI + 1) + 300;  
     TR := Rect(X1, Y1, X2 - 30, Y2);  
     Printer.Canvas.TextRect(TR, X1 + 50, Y1 + 50, sGrid.Cells[F, TmpI]);  
   end;  
 end;  
 Printer.EndDoc;  
end;  


Наверх

Титульная страница Поиск, карта сайта Написать письмо