HGDIOBJ Detach();
该方法返回被分离的 GDI 对象句柄。一旦调用了 Detach 方法,CGdiObject 对象将不再拥有该句柄的所有权。这可以用于将 MFC 对象和 GDI 对象分开,以便在不再需要 MFC 对象时,可以手动释放 GDI 资源。
使用示例:
CBitmap myBitmap;
HBITMAP hBitmap = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_MYBITMAP));
if (hBitmap != NULL)
{
myBitmap.Attach(hBitmap);
// 使用 myBitmap 对象进行其他操作
// 分离 GDI 对象句柄,以便手动管理 GDI 资源
HBITMAP hDetachedBitmap = myBitmap.Detach();
// 在不再需要 MFC 对象时,手动释放 GDI 资源
if (hDetachedBitmap != NULL)
{
DeleteObject(hDetachedBitmap);
}
}
在上面的示例中,Detach 方法被用于将 CBitmap 对象所附加的 GDI 对象句柄分离,然后手动释放了 GDI 资源。这在某些情况下可以用于更精细地控制资源的释放。
转载请注明出处:http://www.zyzy.cn/article/detail/18035/MFC/CGdiObject