![]() |
|
![]() ![]() ![]() |
|
lyucean |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 3.6.2010 Репутация: нет Всего: нет |
int x1,y1,x2,y2;
int i,j; y1=400; y2=400; TPrinter *Prntr = Printer(); Prntr->BeginDoc(); Prntr->Canvas->Pen->Width=5; Prntr->Canvas->Font->Size=8; Prntr->Canvas->Font->Style.operator >>(fsNormal); int Nn=Prntr->PageWidth/(Form2->StringGrid1->Width-Form2->StringGrid1->DefaultColWidth); for (i=0;i<StringGrid1->RowCount;i++) { x1=200; x2=x1+StringGrid1->ColWidths[0]*Nn; y2=y2+StringGrid1->RowHeights[i]*Nn; for (j=0;j<7;j++) { Prntr->Canvas->Rectangle(x1,y1,x2,y2); Prntr->Canvas->TextOutA(x1+40,y1+40,StringGrid1->Cells[j][i]); if (j!=7-1) { x1=x1+StringGrid1->ColWidths[j]*Nn; x2=x2+StringGrid1->ColWidths[j+1]*Nn; } } y1=y1+StringGrid1->RowHeights[i]*Nn; if(y1>(Prntr->PageHeight+100)) { Prntr->NewPage(); y1=400; y2=400; } } Prntr->EndDoc(); печатает хорошо (таблицы помещаются) ![]() немного объясню Form2->StringGrid1->Width-Form2->StringGrid1->DefaultColWidth потому как в StringGrid на одну ячейку больше чем надо на печати. может кто заметит ошибку, я битый час маюсь .. |
|||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Попробывал пример без переделок - все печатает.
Присоединённый файл ( Кол-во скачиваний: 12 ) ![]() -------------------- 0x2b|~0x2b |
|||
|
||||
lyucean |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 3.6.2010 Репутация: нет Всего: нет |
А разрешение принтера какое стоит? я просто делал, чтоб 300х300 и 600х600 переваривало, пробовал на первом, выходят пустые таблицы. |
|||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Попробывал с разрешением 300х300. Таблицу со значениями печатает. Принтер HP LaserJet 1220 Series PCL.
-------------------- 0x2b|~0x2b |
|||
|
||||
lyucean |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 3.6.2010 Репутация: нет Всего: нет |
а заказчик говорит не работает ![]() я тестил на 600х600 ..пашет |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |