多图片打印问题。加急!
问题是这样的:
用grid显示多条记录,每一行中都有个图片的字段,当然只是存的图片名称。这些记录中有些行是没有图片的,然后要打印出来。我使用的是fastreport 来打印。用TfrPictureView 来显示图片。然后在BeforePrint事件中写如下代码显示图片。
try{
AnsiString tpmc=DetailA->FieldByName("tpmc")->AsString;
if ((TfrPictureView*)repGy->FindObject("Pt"))
{
((TfrPictureView*)repGy->FindObject("pt"))->Picture->CleanupInstance();
if (FileExists(ExtractFileDir(Application->ExeName)+"\\gytk\\"+tpmc+".jpg"))
{
AnsiString tp = ExtractFileDir(Application->ExeName)+"\\gytk\\"+tpmc+".jpg";
((TfrPictureView*)repGy->FindObject("pt"))->Picture->LoadFromFile(tp);
}
else
{
((TfrPictureView*)repGy->FindObject("pt"))->Picture->Assign(NULL);
}
}
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
以下就是出现的问题:
(1)如果我把frPictureView高度和宽度都设置的比较大。这样图片显示就没有问题。但是有些行间没有图片的行距就非常的大,这样很不合理。
(2)我把 MasterData的属性stretched 设置为true.这样frPictureView就会自动下移。但是其他数据的不会自动下移。这样就会出现图片和下行文字重叠的现象。
我想请教一下妖哥和各位高手。有没有方法实现打印,没有图片的行间挨着显示。有图片的就正常显示图片,接着就显示下一行的记录。这就就可以实现合理的打印。
[解决办法]
动态改变行高,没遇到过,一般是报表自动识别的
[解决办法]
试试给没有图片的记录赋予一个画了小点点的图片看行不行。