Win32 C++ "Old Bitmap"可以重复使用吗?
Win32 C++ Can "Old Bitmap" Be Reused?
我想知道当使用HDCs时,当我选择回原始位图时,我可以再次使用它吗?像…
HBITMAP hbmOld;
// FIRST
hbmOld = (HBITMAP)SelectObject(hdcMem, bitmap.hbmItemOverlay);
Rectangle(hdcMem, 0, 0, MAP_WIDTH*BLOCK_SIZE, MAP_HEIGHT*BLOCK_SIZE);
SelectObject(hdcMem, hbmOld);
// SECOND
stockBrush = GetStockBrush(BLACK_BRUSH);
hbmOld = (HBITMAP)SelectObject(hdcMem2, bitmap.hbmMap);
Rectangle(hdcMem2, 0, 0, bitmap.bmMap.bmWidth, bitmap.bmMap.bmHeight);
SelectObject(hdcMem2, hbmOld);
我想知道这是否有效。它编译得很好,但我想知道这是坏的编程实践吗?
我觉得这很好。
您也可以测试内存泄漏只是为了100%确定。
我个人使用GDIView来做到这一点。关键字是使最后一列中的句柄数保持不变。如果你需要帮助,请留下评论。如果其他人能提出更好或更容易使用的替代方案,我将非常欢迎。
问好。
相关文章:
- Old C++ DLLs into C#
- QT应用程序在BuildBot上构建后变为Windows Old
- 为什么使用统一初始值设定项语法会导致与"old"样式 () 不同的行为?
- 构造字符串( "Plain Old C chain" ) 是右值吗?
- "C2447: '{' : missing function header (old-style formal list?)"是什么意思?
- old的-u选项是如何工作的,它什么时候有用
- 提高"too old"热情,不会安装
- 预测 2.6.16 和 2.6.26 内核版本之间的"kernel too old"错误
- 通过IPC传递非PODs [Plain old DataTypes]
- old option -lrt指的是哪个库(Bionic libc)
- Win32 C++ "Old Bitmap"可以重复使用吗?