TQRImage控件的的困惑 (有时候显示为全黑色)

gfh21cn 2003-07-16 09:03:46
我使用TQuickReport组件来创建报表

使用TQRImage控件来显示图片和表格(Custom Draw)

图片是从数据库中获取的。
在报表中有几中显示方式
1、静态图片(公司的图标,在设计期间便导入)
2、动态图片(从数据库中导入,WMF格式)
3、自己画的图片 (一个表格)

窗体是智能指针生成的(关闭后自动释放)

这三种方式,第一次显示的时候很正常,第二次或者多试几次以后,显示的全为黑色,有时候是全部显示为黑色,有时候静态图片还显示正常。

后来我使用动态创建控件,并动态导入图片文件。
这个动态的控件显示会好一点,但有时候也会显示为黑色

//下面是模态显示预览
QuickRep1->Prepare();
QuickRep1->Invalidate();
QuickRep1->PreviewModal();
//从数据库导入图片
t_CircuitDiagram=new TMemoryStream();
AnsiString t_FieldName=mySysData.m_Step1Data.i_StaticPressure<60?"CircuitDiagram0030":"CircuitDiagram6080";
t_CircuitDiagram->Clear();
((TBlobField *)DataModule1->TbStructure->FieldByName(t_FieldName))->SaveToStream(t_CircuitDiagram);
t_CircuitDiagram->Position=0;

QRImage2->Picture->Bitmap=NULL;
if(t_CircuitDiagram->Size)
{
TMetafile *t_Metafile=new TMetafile;
t_Metafile->LoadFromStream(t_CircuitDiagram);
QRImage2->Canvas->StretchDraw(QRImage2->ClientRect,t_Metafile);
delete t_Metafile;
}
else
{
QRImage2->Canvas->FillRect(QRImage2->ClientRect);
DrawText(QRImage2->Canvas->Handle,"(无相关图像)",-1,(RECT*)&(QRImage2->ClientRect),DT_SINGLELINE|DT_VCENTER|DT_CENTER);
}


我怀疑是组件的问题。不知道各位碰到过没有,有没有什么解决方案
如果还有其他不太明白的地方,可以通过EMAIL或者MSN谈
我的信箱是gfh21cn@hotmail.com (可以使用使用MSN)
...全文
63 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
尘封-宜宾 2003-07-20
  • 打赏
  • 举报
回复
你打印过你的报表吗?图片打印是否正常?
gfh21cn 2003-07-20
  • 打赏
  • 举报
回复
这个问题还是很困扰我

gfh21cn 2003-07-20
  • 打赏
  • 举报
回复
如果为全黑的话
我想打印出来的也查不错

请问你是如何做含有大图片的报表的
gfh21cn 2003-07-17
  • 打赏
  • 举报
回复
请各位,帮帮忙。
kataboy 2003-07-16
  • 打赏
  • 举报
回复
头坑!
liuwl 2003-07-16
  • 打赏
  • 举报
回复
呵呵。我还没做过报表的程序,我只写点核心跟文档之类的东西。
gfh21cn 2003-07-16
  • 打赏
  • 举报
回复
没有人知道吗?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧