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

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

Quick Report [D6, Access]


narik ©   (2002-03-10 17:13:00) 

Привет всем!
Возник вопросик!
Создаю отчет в виде таблицы, при помощи 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.


narik   (2002-03-10 17:45:00) [1]

Я пробовал создавать шрифт в OnСreate формы, затем делал QuickRep.Font.Handle:=CreateFontIndirect(FLogFont);
(чтобы попробовать что получится на принтере)
и все одно.

А почему тогда на предварительном просмотре все нормально?


Delirium   (2002-03-10 17:30:00) [2]

IHMO: В OnPrint корректно менять только Value


Наверх

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