Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2007, 17:31   #1
Gorin
Пользователь
 
Регистрация: 26.06.2007
Сообщений: 36
По умолчанию Печать StringGrid

Добрый вечер!
Пытаюсь напечатать StringGrid
Код:
Printer.BeginDoc;
StringGrid1.PaintTo(Printer.Handle,10,10);
Printer.EndDoc;
Таблица получается на 1\20 листа.
С чем это связанно?
Gorin вне форума Ответить с цитированием
Старый 28.09.2007, 22:09   #2
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

С разницей между разрешением принтера и разрешением экрана. Необходимо масштабировать размеры печатаемой области.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 29.09.2007, 01:27   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Статья в блоге по теме - печать содержимого компонента

Цитата:
например, Grid / DbGrid (далее Matrix) нужно заполнить значениями из Table..
затем :

with Printer do
begin
if Printing then exit;
PrinterIndex:= -1;
BeginDoc;
Onprint:= true;
Matrix.Color:= clWhite; // экономим чернила
Matrix.Repaint;
zoom:= PageWidth / (2*Matrix.Width);
zoom2:= PageHeight / (2*Matrix.Height);
if zoom2 на полстраницы
with canvas do
begin
Font.Size:= 14;
Font.Name:= ‘Courier New’;
TextOut((PageWidth-Textwidth(str)) div 2, 12, str);
StretchBlt(Handle, (PageWidth - wdt) div 2, 25+TextHeight(str), Wdt, Hgt,
Matrix.Canvas.handle, 0, 0, Matrix.Width, Matrix.Height-5, SrcCopy);
end;
EndDoc;
Onprint:= false;
Matrix.Color:= $00AABBCC;
Matrix.Repaint;
if aborted then MessageDlg(’Печать была прервана!’, mtInformation, [mbOK],0);
end;
Alar вне форума Ответить с цитированием
Старый 29.09.2007, 08:32   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Юэай Fastreport и ни каких проблем
SERG1980 вне форума Ответить с цитированием
Старый 01.10.2007, 16:24   #5
Gorin
Пользователь
 
Регистрация: 26.06.2007
Сообщений: 36
По умолчанию

Честно сказать, я вообще не понимаю что происходит в приведённом коде Если возможно, хотелось получить комментарий. Спасибо!


У меня много цветных ячеек, разный шрифт. Поэтому с FastReport у меня проблемы
Gorin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать из OLE Experementator Общие вопросы Delphi 1 25.04.2008 20:25
Как вывести таблицу StringGrid на печать? graphoman Компоненты Delphi 1 07.01.2008 22:19
Печать lacost Общие вопросы C/C++ 2 09.12.2007 22:55
Вывод на печать StringGrid таблицу Македонский Общие вопросы Delphi 3 06.11.2007 01:21
печать Илюха Общие вопросы Delphi 2 23.10.2007 21:15