DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
这下有了CImage类,处理其他类型的图片不再寻找第三方类库了。加载到对话框背景的代码如下: 
//从资源里载入背景JPEG图片
HRSRC hRsrc=::FindResource(AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_JPG1), _T("JPG")); if(hRsrc!=NULL) { HGLOBAL hImgData=::LoadResource(AfxGetResourceHandle(),hRsrc); if(hImgData==NULL) { ::FreeResource(hImgData); } else { LPVOID lpVoid = ::LockResource(hImgData); LPSTREAM pStream=NULL; DWORD dwSize = ::SizeofResource(AfxGetResourceHandle(), hRsrc); HGLOBAL hNew = ::GlobalAlloc(GHND, dwSize); LPBYTE lpByte = (LPBYTE)::GlobalLock(hNew); ::memcpy(lpByte, lpVoid, dwSize); GlobalUnlock(hNew); HRESULT ht = CreateStreamOnHGlobal(hNew, TRUE, &pStream); if( ht != S_OK ) { //ASSERT( FALSE ); GlobalFree(hNew); } else { m_imgBK.Load(pStream); GlobalFree(hNew); } ::FreeResource(hImgData); } } //m_imgBK.Load("hh.jpg"); //这个方法可以载入文件
处理消息OnEraseBkgnd,

BOOL CDlgCfg::OnEraseBkgnd(CDC* pDC)
{
 m_imgBK.Draw(pDC->GetSafeHdc(),0,0,500,500,0,900,500,500);
 return TRUE; 

 //CDialog::OnEraseBkgnd(pDC);
}

还可以直接从文件加载: 
    CImage m_img; 
    HRESULT hr; 
    hr = m_img.Load(L"D:\\点歌\\歌星点歌.jpg");
posted on 2013-12-24 20:02  DoubleLi  阅读(469)  评论(0编辑  收藏  举报