Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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);
(чтобы попробовать что получится на принтере)
и все одно.

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




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.032 c
1-85              vladimir_12           2002-03-19 09:11  2002.04.01  
Печать в текстовом режиме


1-227             Nicolas_              2002-03-20 16:55  2002.04.01  
Почему все формы из DLL отображаются на панели задач?


3-77              Dimedrol              2002-02-13 10:32  2002.04.01  
начинаю с Interbase.


6-276             Sandro                2002-01-12 00:24  2002.04.01  
Как через сокеты передать звук в реальном времини


4-363             Di_wind               2002-01-29 21:38  2002.04.01  
Нужна помощь.