Форум: "Базы";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
ВнизQuick Report Найти похожие ветки
← →
narik (2002-03-10 17:13) [0]Привет всем!
Возник вопросик!
Создаю отчет в виде таблицы, при помощи Quick Report.
Данные для отчета беру из ADOQuery. Поля вывожу при помощи компонента QRDBText. Использую событие этого компонента OnPrint для проверки длины выводимого слова, и если оно длиннее чем ширина столбца, пытаюсь его "вписать" в ширину столбца, изменяя значение поля lfWidth структуры TLogFont.
В итоге имею что-то вроде этого:
If > then
begin
{Сохраняю исходный шрифт}
SaveFont.Assign(QRDBText.Font);
FillChar(FLogFont, sizeof(TLogFont), 0);
with FLogFont do
begin
......................
lfWidth := ?;
......................
end;
QRDBText.Font.Handle:=CreateFontIndirect(FLogFont);
{Восстанавливаю исходный шрифт}
QRDBText.Font.Assign(SaveFont);
end
else
...;
На предварительном просмотре все нормально, но при выводе на печать,
печатается исходный шрифт, т.е. длинные слова вылезают за границы столбца. :-(
Попутно еще вопросик. Может проблема одного и того же рода.
Вертикальные линии "рисую" при помощи QRShape. Делаю Pen.Width:=3,на предварительном просмотре опять все OK, а принтер печатает все равно тонкие линии.
ОС - WinMe, D6, Printer - OKIPAGE 8wLite.
← →
Delirium (2002-03-10 17:30) [1]IHMO: В OnPrint корректно менять только Value
← →
narik (2002-03-10 17:45) [2]Я пробовал создавать шрифт в OnСreate формы, затем делал QuickRep.Font.Handle:=CreateFontIndirect(FLogFont);
(чтобы попробовать что получится на принтере)
и все одно.
А почему тогда на предварительном просмотре все нормально?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c