[완료] MFC CDC::SelectObject 에 대한 질문
글쓴이: wmjj / 작성시간: 일, 2011/09/25 - 4:19오전
보통 비트맵 이미지를 화면에 그릴때.
CBitmap* pOldBitmap = MemDC.SelectObject( &bitmap );
.....
MemDC.SelectObject( pOldBitmap );
이런식으로 pOldBitmap 를 저장 했다가 복구 시키는데요.
이렇게 하는 이유가 현재 dc에 선택된 비트맵은 DeleteObject가
안되기 때문인걸로 알고 있는데 맞나요?
그렇다면 비트맵 변수가 맴버변수나 전역변수로 되어 있다던가 해서
비트맵보다 MemDC가 먼저 소멸이 된다면 굳이 pOldBitmap비트맵으로
복구하는 코드를 넣지 않아도 되는건가요?
Forums:
MemDC를 제거 하기 전에는
pOldBitmap을 제자리에 돌려줘야. 리소스가 증가하지 않을거라 생각됩니다.
전역으로 되어있더라도 사용한 리소스는 돌려줘야 합니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
문서에 그렇게 되어 있으니까...
사실 이런 의문에 대해서 가장 큰 이유는 source(Win32 API)가 공개되어 있지 않기 때문에 문서(MSDN)대로 할 수 밖에 없기 때문일 겁니다.
문서에서 제시하는 방식말고 다른 형태로 썼다가 MS가 내부를 바꿔서 호환이 안 될 가능성이 있죠.
그렇군요~
감사합니다~~ ^^
댓글 달기