C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
FastReport 2.52: компонент TfrPictureView
Oper01
Отправлено: 18.08.2004, 23:06


Станционный диспетчер

Группа: Участник
Сообщений: 145



Как программно можно менять изображение у компонента TfrPictureView ? Как из кода добраться до его свойств ?
MDM
Отправлено: 19.08.2004, 11:01


Ученик-кочегар

Группа: Участник
Сообщений: 23



QUOTE (Oper01 @ 19/08/2004, 00:08)
Как программно можно менять изображение у компонента TfrPictureView ? Как из кода добраться до его свойств ?

У меня в 2.47 было так:
void __fastcall TMainForm::frReport1BeforePrint(TStringList *Memo,
TfrView *View)
{
TfrPictureView* vp;
TfrMemoView* mv;
TMapDocForm* ActiveDoc = dynamic_cast(ActiveMDIChild);

if (View->Name == "pvMap") {//определяешь по имени
vp = dynamic_cast(View);
TMetafile *pMetafile = new TMetafile();
TDisplayMetafileCanvas *pCanvas = new TDisplayMetafileCanvas(pMetafile);
ActiveDoc->PrintMap(pCanvas->Handle, vp->dx, vp->dy, vp->dx*10, vp->dy*10);
delete pCanvas;
vp->Picture->Metafile->Assign(pMetafile);
delete pMetafile;
return;
}
...
Если ничего не изменилось...
Oper01
Отправлено: 19.08.2004, 22:47


Станционный диспетчер

Группа: Участник
Сообщений: 145



Не совсем понял что и как. Если не сложно, объясните. Мне всего лишь навсего надо запихнуть в компонент картинку из файла.
MDM from house
Отправлено: 21.08.2004, 19:31


Не зарегистрирован







QUOTE (Oper01 @ 19/08/2004, 23:49)
Не совсем понял что и как. Если не сложно, объясните. Мне всего лишь навсего надо запихнуть в компонент картинку из файла.

//обработчик возникает перед выводом каждого Tfr...View(TfrMemoView, TfrPictureView и т.д.)
void __fastcall TForm1::frReport1BeforePrint(
TStringList *Memo, //это его св-во Memo
TfrView *View)//это он сам
{
TfrPictureView* vp;//нам нужен TfrPictureView
if(View->Name == "MyPicture") {//из всех TfrPictureView Наш опознаем по имени, заданном в дизайнере FR при разработке
vp = dynamic_cast(View);
if(!vp)return;
vp->Picture->Bitmap->LoadFromFile("D:\\CB6\\Borland Shared\\Images\\Splash\\256Color\\factory.bmp");//всего лишь навсего надо пихаем в компонент картинку из файла
}
}

Oper01
Отправлено: 22.08.2004, 20:29


Станционный диспетчер

Группа: Участник
Сообщений: 145



Большое спасибо за помощь !!!
Oper01
Отправлено: 22.08.2004, 21:24


Станционный диспетчер

Группа: Участник
Сообщений: 145



Только при компиляции вылетает ошибка на строчке:
vp = dynamic_cast(View);

E2274 < expected
Георгий
Отправлено: 22.08.2004, 22:43


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



CODE
vp = dynamic_cast<TfrPictureView*>(View);
** Oper01
Отправлено: 23.08.2004, 08:13


Не зарегистрирован







Спасибо за помощь !
Спросил не подумав, сам ошибку исправил.
MDM
Отправлено: 23.08.2004, 10:18


Ученик-кочегар

Группа: Участник
Сообщений: 23



QUOTE (Oper01 @ 22/08/2004, 22:26)
Только при компиляции вылетает ошибка на строчке:
vp = dynamic_cast(View);

E2274 < expected

Извиняюсь это при copy/paste пропало — , а брал прямо из редактора?
Георгий
Отправлено: 23.08.2004, 19:28


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



тэгами CODE надо пользоваться и точга ничего пропадать не будет

Вернуться в Вопросы программирования в C++Builder