MyException - 我的异常网
当前位置:我的异常网» C++ » vs2008平台上采用picture control控件无法显示图片

vs2008平台上采用picture control控件无法显示图片

www.MyException.Cn  网友分享于:2013-02-20  浏览:228次
vs2008平台下采用picture control控件无法显示图片
运行结束后,控件上没有显示要加载的图片,代码如下:

//imagepath:"e:\\tempp\\37132819.bmp" 该图片存在
HBITMAP hbmp=(HBITMAP)::LoadImage(NULL,CA2T(imagpath),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

//HBITMAP hbmp=(HBITMAP)::LoadImage(NULL,L"e:\\tempp\\37132819.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

DWORD k=GetLastError();
FILE *err = fopen("e:\\tempp\\err.txt","w");
fprintf(err,"%d",k);//k的值为0  加载成功
fclose(err);

CStatic * cs =(CStatic *)GetDlgItem(IDC_STATIC);//picture control控件ID:IDC_STATIC
if(cs == NULL){
    MessageBox(L"GetDlgItem失败",L"ZNAPI",MB_OK);
}
//cs->ModifyStyle(0xF,SS_BITMAP);
cs->SetBitmap(hbmp);


谢了
picture control loadImage setBitmap

------解决方案--------------------
bmpHMap = (HBITMAP)LoadImage(AfxGetInstanceHandle(), curPath, 
IMAGE_BITMAP, 256, 256, LR_CREATEDIBSECTION 
------解决方案--------------------
 LR_LOADFROMFILE);
if (bmpHMap==NULL)
{
MessageBox(L"读取图片失败!");
return;
}

m_BmpFile.SetBitmap(bmpHMap);
DeleteObject(bmpHMap);


这是我在做的一个东西里面的代码,可以成功显示~
另外提醒几个我遇到的问题.
1. picture control控件的type属性设置为Bitmap.
2. 你那个LoadImage函数的返回值是NULL吗?如果是的话,说明图片没有载入,可以检查一下文件路径,中英文字符设置什么的~
3. 最后记得要删除资源哦~DeleteObject
------解决方案--------------------
IDC_STATIC 改成别的ID试试

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有