Мне интересно, когда я работаю с HDC, когда я выбираю исходное растровое изображение, могу ли я использовать его снова? Подобно…
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 сделать это. Ключ для того, чтобы число дескрипторов было постоянным в последнем столбце. Если вам нужна помощь в использовании, оставьте комментарий. Я был бы рад, если бы другие могли предложить лучшую или более простую альтернативу.
С наилучшими пожеланиями.
Других решений пока нет …