环境:VS2008 MFC
问题:如下函数是加载资源图片到Cbitmap中void CMyColorItem::AddResourceBitmap(CBitmap* bmp, UINT32 bmpId)
{
if (bmp != NULL && bmp->m_hObject != NULL)
{
bmp->DeleteObject();
}
bmp = new CBitmap();
HBITMAP hbit = LoadBitmap(AfxGetResourceHandle(), MAKEINTRESOURCE(bmpId));
bmp->Attach(hbit);
}
调用如下:
AddResourceBitmap(m_hBitmap[0], hbit);在AddResourceBitmap函数结束时,单步运行发现图片已经加载进去了,bmp->m_hObject=0x0b0539f2。但为什么在调用后m_hBitmap[0]->m_hObject还是为NULL?该如何修改呢?在线等,O(∩_∩)O谢谢
问题:如下函数是加载资源图片到Cbitmap中void CMyColorItem::AddResourceBitmap(CBitmap* bmp, UINT32 bmpId)
{
if (bmp != NULL && bmp->m_hObject != NULL)
{
bmp->DeleteObject();
}
bmp = new CBitmap();
HBITMAP hbit = LoadBitmap(AfxGetResourceHandle(), MAKEINTRESOURCE(bmpId));
bmp->Attach(hbit);
}
调用如下:
AddResourceBitmap(m_hBitmap[0], hbit);在AddResourceBitmap函数结束时,单步运行发现图片已经加载进去了,bmp->m_hObject=0x0b0539f2。但为什么在调用后m_hBitmap[0]->m_hObject还是为NULL?该如何修改呢?在线等,O(∩_∩)O谢谢
解决方案 »
- VB 窗口激活的问题 求助
- 如何制作ACTIVEX的密码控件供网页使用?
- 请教:COM+的经典书籍是哪几本,谢谢???
- 汉字转换拼音的算法
- 有谁知道精确定时器怎么写,要64分之一秒触发一次,要很准才行?
- 《Visula C++技术内幕》第四版的EX12A中为什么m_sh("")可以这样,msdn中不是说该参数不能为NULL吗?
- 球的细化 初始值问题
- 为什么同样的程序后缀不一样会出现不同的结果?
- 请高人指点: 怎样在程序中查看菜单项是否DISABLED ?十万火急!!!!!!!!!!
- Window API编程,滚动条没效果。
- opengl中glVertex3f的基本问题
- 急!!!!!!!!请问在主对话框里添加一个按钮,点击按钮弹出一个子对话框,如何让子对话框里的静态控件的字体是透明的?????
void CMyColorItem::AddResourceBitmap(CBitmap** bmp, UINT32 bmpId)
{
if (*bmp != NULL && (*bmp)->m_hObject != NULL)
{
(*bmp)->DeleteObject();
}
*bmp = new CBitmap();
HBITMAP hbit = LoadBitmap(AfxGetResourceHandle(), MAKEINTRESOURCE(bmpId));
(*bmp)->Attach(hbit);
}
if (bitmap.LoadBitmap(IDB_BITMAP_FIND))
{
m_wndBtnSearch.SetBitmap(bitmap);
bitmap.Detach();
}
{
if (*bmp != NULL && (*bmp)->m_hObject != NULL)
{
(*bmp)->DeleteObject();
delete (*bmp);//////////////
}
*bmp = new CBitmap();
HBITMAP hbit = LoadBitmap(AfxGetResourceHandle(), MAKEINTRESOURCE(bmpId));
(*bmp)->Attach(hbit);
}
最小化,内存急速下降,2043K
再最大化,内存小段增加,4322K