TQRImage控件的的困惑 (有时候显示为全黑色)
我使用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)