![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про масштабирование 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; разумеется после троеточия