Tfrxchartview и фоновая картинка

отредактировано 19:30 Раздел: FastReport VCL
Добрый день.
Собственно, вопрос - как добавить фоновое изображение на график. У BackWall есть свойство Picture, но в нем пункта, в котором можно было бы выбрать изображение. Есть настройка положения, качества и режима отрисовки, фильтрации изображения, а вот ссылки на само изображение нет. Как это сделать?

Комментарии

  • gpigpi
    отредактировано 19:30
    Попробуйте из кода Delphi
    TfrxChartView(frxReport1.FindObject('Chart1')).Chart.BackImage.LoadFromFile('C:\test.bmp');
  • отредактировано 19:30
    gpi написал: »
    Попробуйте из кода Delphi
    TfrxChartView(frxReport1.FindObject('Chart1')).Chart.BackImage.LoadFromFile('C:\test.bmp');

    Попробовал. И так, и вариант
    TfrxChartView(frxReport1.FindObject('Chart1')).Chart.BackWall.Picture.LoadFromFile('C:\test.bmp');

    Отчет показывает, картинки в фоне нет. Причем если Chart1 заменить, например, на Chart2, то он не ругается, не говорит, что объект не найден. Спокойно показывает отчет, хотя график называется именно Chart1 и компонента с именем Chart2 попросту нет.
  • gpigpi
    отредактировано 19:30
    В D7 такой вариант работает
    TfrxChartView(frxReport1.FindObject('Chart1')).Chart.BackImage.LoadFromFile('C:\test.bmp');
  • отредактировано 19:30
    gpi написал: »
    В D7 такой вариант работает
    TfrxChartView(frxReport1.FindObject('Chart1')).Chart.BackImage.LoadFromFile('C:\test.bmp');

    У меня C++Builder XE6. Не работает. Вообще бред какой-то. Решил попробовать поменять таким способом что-то другое - понять, работает это вообще?
    Пробую поменять Title у графика:
    TfrxChartView(frxReport1->FindObject("Chart1")).Chart->Title->Text->Add("Новый заголовок");
    так он пишет этот текст вверх ногами вне графика на странице слева и сверху от самого графика.

    0_9d252_90130408_orig.jpg

    Либо я что-то не совсем понимаю, либо что-то глючит не по-детски...
  • gpigpi
    отредактировано 19:30
    Delphi XE7 - код тоже работает
  • отредактировано 19:30
    В общем, поставил на свободную машину триал RAD Studio XE6, чтобы и делфи и билдер были вместе. Чисто попробовать.

    Под делфи код

    frxChartView(frxReport1.FindObject('Chart1')).Chart.BackImage.LoadFromFile('c:\test.bmp');

    дает нормальный ожидаемый результат - картинка в фоне.

    Под С++ Builder код

    TfrxChartView(frxReport1->FindObject("Chart1")).Chart->BackImage->LoadFromFile("c:\test.bmp");

    не дает ничего.

    Аналогично с заголовком графика, как я показывал выше - в делфи нормально меняется, в билдере фигня вверх ногами.

    Еще если в делфи умышленно написать неверное имя компонента - скажем, Chart2 вместо Chart1, то, как и полагается, вылетает access violation. А билдеру все пофигу, - вообще нет реакции.
  • gpigpi
    отредактировано 19:30
    В билдере нужно так:

    ((TfrxChartView *)frxReport1->FindObject("Chart1"))->Chart->BackImage->LoadFromFile("c:\\test.bmp");

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.