怎样从剪贴板取出图象并显示在Image?
在编程中遇到此问题,以下一段代码在执行时为什么会有问题:大意是不支持的格式,请问应怎样解决?请指教。
int iFormat;
Graphics::TBitmap *bmp;
TMetafile *meta;
for(int i=0; i < Clipboard()->FormatCount; i++)
{
iFormat=Clipboard()->Formats[i];
switch(AFormat)
{
case CF_BITMAP:
bmp=new Graphics::TBitmap;
bmp->LoadFromClipboardFormat(AFormat, Clipboard()->GetAsHandle(AFormat), 0);
Image1->Picture->Assign(bmp);
delete bmp;
break;
case CF_METAFILEPICT:
meta=new TMetafile;
meta->LoadFromClipboardFormat(AFormat, Clipboard()->GetAsHandle(AFormat), 0);
frmPicture->Image1->Picture->Assign(meta);
delete meta;
break;
}
问题点数:50、回复次数:5Top
1 楼KingOf007(金雨冷)回复于 2002-11-22 18:10:15 得分 16
为什么要问两遍呢?:)Top
2 楼Taiji02(笑看庭前花开花又落)回复于 2002-11-25 08:37:36 得分 0
iFormat和AFormat是一个变量,传上去才发现错误,不好意思。有没有人回答?Top
3 楼kingfish(工作很忙,很少来csdn...)回复于 2002-11-27 10:30:20 得分 16
我试了bmp,你的程序没什么问题
另外可以更简单点
if( Clipboard()->HasFormat(CF_BITMAP))
Image1->Picture->Assign(Clipboard());Top
4 楼fenye()回复于 2002-11-27 10:57:37 得分 18
如果你放在剪贴板上的image文件是jepg格式的,你可能要包含<jepg.hpp>Top
5 楼Taiji02(笑看庭前花开花又落)回复于 2002-11-28 10:48:30 得分 0
单独试BMP文件时没什么问题,但是我将一幅BMP插入到WORD中接着输入了一些文字,仅此而以,然后拷贝,怎么Clipboard()->HasFormat(CF_BITMAP)就不会执行,也即是说没有这种格式,那是怎么回事?Top




