Картинки в UserDataSet

отредактировано 05:41 Раздел: FastReport 3.0
в примере Visual C++ -> UserDataSet можно задать свой массив с данными и затем подключить к программно его в FR.

А можно ли как-то записать туда массив картинок (HBITMAP)?

Я знаю, что можно создать отдельно одну картинку и поместить в любое место на отчете (еще давно я билась с этим и в результате появился пример Visual C++ -> Pictures). Но вот только теперь нужно создать свой набор картинок и поместить его в MasterData1.

Есть ли возможность так сделать?

Комментарии

  • отредактировано 05:41
    Положите картинку на бэнд и через OnBeforePrint назначайте каждой картинке соответствующий HBITMAP из ващего массива.
  • отредактировано 05:41
    а как конкретно-то?

    _variant_t v(pDlgp->m_Array[idx]);
    VariantCopy(Value,&v);

    не проходит. как туда можно скопировать-то?
  • отредактировано 05:41
    HBITMAP hBitmapArr[10];
    ....
    ....
    STDMETHODIMP raw_OnBeforePrint(IfrxComponent *Sender)
    {
    static index = 0;
    if (StrCmpIW(Sender->BaseName,bstr_t("Picture").GetBSTR())==0)
    {
    pPictureView=NULL;
    Sender->QueryInterface(__uuidof(IfrxPictureView),(void **)&pPictureView);
    pPictureView->PutPicture((OLE_HANDLE)hBitmapArr[index]);
    index ++;
    pPictureView->Release();
    }
    }
  • отредактировано 05:41
    ой, спасибочки тебе огромное, Den!!!!

    Урррааа! Теперь можно свободно дышать.

    Ой, ты даже не представляешь, как ты мне помог. Спасибо огромное!!!!

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

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