티스토리 뷰

// 대화상자에 생성된 Picture 컨트롤의 주소를 얻는다. ( Picture 컨트롤도 CStatic 컨트롤이다. )
CStatic *p_lamp_image = (CStatic *)GetDlgItem(IDC_LAMP_IMAGE);
 
// 리소스에 있는 비트맵 이미지를 읽기 위해서 CBitmap 클래스 객체를 선언한다.
CBitmap lamp_image;
// 리소스에서 IDB_BITMAP2 이미지를 읽는다.
lamp_image.LoadBitmap(IDB_BITMAP2);
 
// Picture 컨트롤에 새로 읽어들인 이미지를 설정하고 이전에 사용하던 이미지 핸들을
// p_old_ bitmap 변수에 저장한다.
HBITMAP h_old_bitmap = p_lamp_image->SetBitmap(lamp_image);
 
// Picture 컨트롤이 이전에 사용하던 이미지가 있었다면 제거한다.
if(h_old_bitmap != NULL) ::DeleteObject(h_old_bitmap);
 
// Picture 컨트롤에 이미지를 설정하기 위해서 생성했던 이미지는 Picture 컨트롤이 사용하기
// 때문에 lamp_image 객체가 종료되면서 삭제되지 않도록 연결을 해제한다.
// 이 코드를 사용하지 않아도 되는 것처럼 보이지만 해당 Picture 컨트롤이 가려졌다가
// 다시 보이게 되는 경우 그림이 그려지지 않는다. 따라서 꼭 사용해야 합니다.
lamp_image.Detach();

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함