加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用ATL库中的CImage类加载JPG图片作为对话框背景

发布时间:2021-05-21 04:50:47 所属栏目:大数据 来源: https://www.jb51.cc
导读:这下有了CImage类,处理其他类型的图片不再寻找第三方类库了。加载到对话框背景的代码如下: // 从资源里载入背景JPEG图片 HRSRC hRsrc = ::FindResource(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_JPG1),_T( " JPG " )); if (hRsrc != NULL) ... { HGLOBA
这下有了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(),500,900,500);
?return TRUE; 
?//CDialog::OnEraseBkgnd(pDC);
}
?

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读