图片显示有以下几种方法:
1)静态加载(bmp);
方法一:
m_bmp[i] = ::LoadBitmap(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP1 + i));
m_ctl_picture.ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
m_ctl_picture.SetBitmap(m_bmp[num]);
//注意:在程序合适位置(一般在析构函数处)应删除图片句柄,
if(m_bmp[i])
{::DeleteObject(m_bmp[i]);}
2)动态加载(bmp);
3)其余控件加载(多种样式图片);
4)通过CBitmap,HBITMAP,直接用OnPaint()中画(bmp);
详见 http://wenku.baidu.com/view/0b6fe8563c1ec5da50e27063.html
5)通过CImage,直接在OnPaint()中画(bmp、jpg);
在OnPaint()的else中添加
CDC *pDC = this->GetDC();
CImage img;
img.Load("c:\\test.bmp");
int width = img.GetWidth();
int height = img.GetHeight();
img.Draw(pDC->m_hDC,0,0,width,height);
附1:控件大小控制,以按钮为例:
CRect rect;
m_btn_test.GetWindowRect(&rect);
ScreenToClient(&rect);
m_btn_test.MoveWindow(rect.left,rect.top,rect.width()/2,rect.height()/2,true);
附件2:显示动态gif文件
步骤一:添加扩展类文件CPictureEx.cpp与CPictureEx.h;
步骤二:在资源中添加gif文件,如果添加gif文件不成功,最好删掉文件,重新添加到目录下,修改扩展名,再增加。
步骤三:实例化类CPictureEx,并在要显示gif图片地方添加如下代码:
if (m_gifpicture.Load(MAKEINTRESOURCE(IDR_GIF1),_T("gif")))//IDR_GIF1是添加的GIF动画的ID号。gif即是在添加时所键入的文件类型
m_gifpicture.Draw();