Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Print View Stringrid 
:(
    Опции темы
koder
Дата 2.12.2005, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 30.4.2005
Где: Moscow

Репутация: нет
Всего: 2



Как вывести таблицу на предварительный просмотр перед печатью?
--------------------
THE TRUTH IS OUT THERE
PM WWW ICQ   Вверх
Snowy
Дата 2.12.2005, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Вот код печати стринггрида.
Код

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; 

Для предпросмотра делаешь все то же самое, только используешь канвас PainBox'a или любой другой удобный для тебя канвас.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0657 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.