27. februar 2002 - 18:53Der er
7 kommentarer og 1 løsning
Udskriv data fra lister så det står fint på siden.
Jeg har oprettet en liste med 13 forskellige attributter og ønsker at kunne udskrive nogle listen som den står på skærmen, men der skal også være mulighed for at kun vælge at printe nogle af oplysningerne. Skal se sådan ud:
Nr Fornavn Efternavn Tlf 1 Lars Møller 111111111 2 Bent Hansen 222222222
Har nu fundet ud af at få printet hele mit StringGrid ud ved hjælp af Canvas. Men hvordan vælger jeg enkelte data ud med hjælp af mine checkboxes? Min kode ser nu sådan ud:
procedure TFormUdskriv.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); if checkbox1.Checked then for F := 0 to sGrid.ColCount - 1 do begin X1 := 0; for TmpI := 0 to (F - 1) do X1 := X1 + 5 * (sGrid.ColWidths[TmpI]); Y1 := 300; X2 := 0; for TmpI := 0 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 := 0 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;
hmm det er lidt svært for mig at se hvad du egentlig vil, men jeg tror du ikke bare lave 0 højde for de rækker/kolonder du ikke vil have vist. ellers send lige dit program til mig på jakob_Lundqvist@mail.tele.dk
Synes godt om
Ny brugerNybegynder
Din løsning...
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.