Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Печать TStringGrid через TPrint

16K
22 сентября 2008 года
iRain
72 / / 12.03.2008
При нажатии кнопки рисуется TStringGrid на канве TPrinter, и выводится на печать. Только одна проблема! размер таблици получается очень маленький. Вот код:

 
Код:
TPrinter *prin = Printer();

 prin->BeginDoc();
 StringGrid1->PaintTo(prin-Canvas,10,10);
 prin->EndDoc();


Надо что бы нормальный размер таблици получался.
288
23 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Цитата: iRain
При нажатии кнопки рисуется TStringGrid на канве TPrinter, и выводится на печать. Только одна проблема! размер таблици получается очень маленький. Вот код:

 
Код:
TPrinter *prin = Printer();

 prin->BeginDoc();
 StringGrid1->PaintTo(prin-Canvas,10,10);
 prin->EndDoc();


Надо что бы нормальный размер таблици получался.



Проблема здесь в разнице разрешений экрана и принтера, а точнее в разнице dpi (точек на дюйм). То, что на экране выглядит нормальным, на принтере может быть очень маленьким.
Выход, допустим с помощью Windows GDI функции GetDeviceCaps получить свойства принтера, такие как разрешение принтера, и промасштабировать таблицу в соответствии с этими размерами.

246
23 сентября 2008 года
GIZMO
1.8K / / 30.07.2004
Цитата: iRain
При нажатии кнопки рисуется TStringGrid на канве TPrinter, и выводится на печать. Только одна проблема! размер таблици получается очень маленький. Вот код:

 
Код:
TPrinter *prin = Printer();

 prin->BeginDoc();
 StringGrid1->PaintTo(prin-Canvas,10,10);
 prin->EndDoc();


Надо что бы нормальный размер таблици получался.


Поставь какой-нибудь генератор отчетов Например

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог