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

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

概述这下有了CImage类,处理其他类型的图片不再寻找第三方类库了。加载对话框背景的代码如下:<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> //从资源里载入背景JPEG图片 HRSRC hRsrc=::Fi 这下有了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);
}
  总结

以上是内存溢出为你收集整理的使用ATL库中的CImage类加载JPG图片作为对话框背景全部内容,希望文章能够帮你解决使用ATL库中的CImage类加载JPG图片作为对话框背景所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1156488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存