首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CDC使用上面三行可以省略掉?

2013-01-17 
CDC使用下面三行可以省略掉????CDC析构的时候会自动调用DeleteDC函数,所以没必要手动DeleteDCCDC* pdc G

CDC使用下面三行可以省略掉????


CDC析构的时候会自动调用DeleteDC函数,所以没必要手动DeleteDC
CDC* pdc = GetDC();
CDC dc;
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
dc.CreateCompatibleDC(pdc);
dc.SelectObject(&bitmap);
BITMAP bit;
bitmap.GetObject(sizeof(bit),&bit);
pdc->BitBlt(0,0,bit.bmWidth,bit.bmHeight,&dc,0,0,SRCCOPY);
ReleaseDC(pdc);//下面三行可以省略掉?
dc.DeleteDC();
bitmap.DeleteObject();

[解决办法]
ReleaseDC(pdc);//这句不能省略,其他两个可以
[解决办法]
GetDC一定要对应ReleaseDC因为操作的是指针
对象是会自己析构的
所以可以不用显示调用

热点排行