winapi — Win32 C ++ Может «Старый битмап» Повторно использовать?

Мне интересно, когда я работаю с 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);

Мне интересно, если это действительно. Он прекрасно компилируется и работает, но мне было интересно, если это плохая практика программирования, чтобы сделать это?

1

Решение

На мой взгляд, это прекрасно.

Вы также можете проверить утечки памяти, чтобы быть на 100% уверенным.

Я лично пользуюсь GDIView сделать это. Ключ для того, чтобы число дескрипторов было постоянным в последнем столбце. Если вам нужна помощь в использовании, оставьте комментарий. Я был бы рад, если бы другие могли предложить лучшую или более простую альтернативу.

С наилучшими пожеланиями.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]