Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос про масштабирование StringGrid'a для распечатки [D6, XP]


Malik ©   (2007-03-20 12:22:00) 

Уважемые мастре укажите что сдесь не так:
SWidth:=0;
var Swidth:integer;
    Scale:Double;
...
for i:=0 to StringGrid1.ColCount-1 do begin
   Swidth:=Swidth+StringGrid1.ColWidths[i];
   end;
scale:=printer.Canvas.TextWidth('Test')/StringGrid1.Canvas.TextWidth('Test');
if Swidth*scale>Printer.PageWidth-10*scale then begin
   for i:=0 to StringGrid1.ColCount-1 do begin
       StringGrid1.ColWidths[i]:=round(StringGrid1.ColWidths[i]*(Printer.PageWidth-10*scale)/(Swidth*scale));
       end;
   end;


Malik   (2007-03-20 20:24:00) [1]

Проблема в том, что он не правильно масштабирует: таблица после масштабирования так и не влезает в старицу(((


Ega23   (2007-03-20 12:47:00) [2]


> Не вних дело...


А я не конкретно по этой ошибке. Я вообще.
Кстати, в чём проблема-то?


Malik   (2007-03-20 12:43:00) [3]

Не вних дело...


Ega23   (2007-03-20 12:40:00) [4]


> if Swidth*scale>Printer.PageWidth-10*scale then begin


Скобочки расставь.


Malik   (2007-03-20 12:24:00) [5]

Опечатка не большая:
Swidth:=0; разумеется после троеточия


Наверх

Титульная страница Поиск, карта сайта Написать письмо