> -- Cardinal писал(а):
> Возможно, что нужно ещё будет создать контексты ... Код этот не тестировал. Делал подобное . А Вы в Delphi работали с TCanvas?

В Delphi работал с TMetaFileCanvas и, соответственно, с TMetaFile. С TCanvas, насколько помню, были серьезные проблемы. Битмапы не годятся из-за их неподъемных размеров(получаются файлы объемом до нескольких сот МБ). Делаю так: рисую графики в метафайле, часть метафайла отображаю на экране.  Прокрутка происходит при помощи ScrollBar - просто метафайл перерисовывается с новой позиции, в зависимости от ScrollBar.Position. Таким образом создается эффект прокручивания отчета. Но проблема в том, что мало создать и отобразить графики в отчете.Требуетсяеще ипрокомментировать графики, для чего и требуются Текстовые Боксы. ТБ нужно создавать и размещать/форматировать при помощи мыши произвольно по всему отчету, с привязкой к ключевому параметру графиков. Делать все это требуется визуально, после загрузки данных в графики. Вот в чем загвоздка.

Предельно краткое описание работы с программой:
-- сконструировали при помощи мыши шаблон отчета - накидали компоненты на страницу - создали шапку отчета; сохранили шаблон в файл;
-- загрузили шаблон из файла; загрузили данные в отчет - получили длинный(на несколько десятков страниц) отчет, в котором подавляюще бОльшую часть занимают графики, очень длинные графики.Теперь эти графики нужно прокомментировать по всей их длине.
-- Создаем Текстовые Боксы и при помощи мышипроизвольно(в любом месте) размещаем/форматируем их по всему рулона отчета. ТБ привязываются к ключевому параметру графиков(на случай изменения масштаба графиков).