Mfc 에서 이미지 보이기 ( VS 2010 )
여기서는 static 을 만들어 이미지를 보인다.. 근데 써보니 button 을 만들어 이미지 하는게 더 좋을듯
순서
1. Toolbox 에서 Pictire Control 추가
2. 특성 ( Property ) 설정
3. 이미지 추가
4. 이미지 연동 하기
================================
1. Toolbox 에서 Pictire Control 추가
> View-Toolbax ( Ctrl-Alt-X) - [Picture Control] 선택 - 다이알 로그 창에 적당한 크기로 그리기
>
2. 특성 ( Property ) 설정
> 그린 Pic Control 에서 마우스 오른쪽 버튼 -> Property
> ID 가 IDC_STATIC 인데 적당한 것으로 변경 , 여기서는 "IDC_m_STA_st1" 로 한다.
> Type 가 Frame 으로 되어 있는데 이를 Bitmap 으로 바꾼다.
3. 이미지 추가
> Resource View 창의 Bitmap 에서 마우스 오른쪽 버튼 -> [Insert Bitmap] 선택 하면
> bitMap 이 하나 추가 된다 여기서는 기존에 3개 가 있어서 IDB_BITMAP4 와 같이 나타 난다.
> bitmap4.bmp 가 자동으로 만들어 진다.
> 원하는 파일명 (여기서는 res\img-ing.bmp) 로 바꾸면 img-ing.bmp 이 만들어 지며,
> 이미지 파일 res\img-ing.bmp 을 수정 한다, 뭐 사실 만들어 놓은 파일을 로 바꾼다.
4. 이미지 연동 하기
void CDlg_main::SetImg( )
{
CStatic * m_pPic ;
CBitmap new_image; // 리소스에 있는 비트맵 이미지를 읽기 위해서 CBitmap 클래스 객체를 선언한다.
HBITMAP h_old_bitmap;
m_pPic = (CStatic *)GetDlgItem(IDC_m_STA_st1);
GetDlgItem(IDC_m_STA_st1)->ShowWindow(SW_SHOW);
new_image.LoadBitmap(IDB_BITMAP4 );
h_old_bitmap = m_pPic->SetBitmap(new_image); // p_old_ bitmap 변수에 저장한다.
if(h_old_bitmap != NULL) ::DeleteObject(h_old_bitmap); // Picture 컨트롤이 이전에 사용하던 이미지가 있었다면 제거한다.
//사용하기 때문에 lamp_image 객체가 종료되면서 삭제되지 않도록 연결을 해제한다.
// 이 코드를 사용하지 않아도 되는 것처럼 보이지만 해당 Picture 컨트롤이 가려졌다가
// 다시 보이게 되는 경우 그림이 그려지지 않는다. 따라서 꼭 사용해야 합니다.
new_image.Detach();
}
위 함수를 부르면 이미지를 그려 준다.
'개발 > mfc' 카테고리의 다른 글
mfc AfxMessageBox 응답 받기 (0) | 2024.05.24 |
---|---|
mfc button 에 image 올리기, sample source (0) | 2024.05.21 |
mfc, OnInitDialog 함수 추가 (0) | 2024.05.09 |
mfc, (EDIT) Control 에 멤버 변수 만들기 (0) | 2024.05.09 |
MFC, CDialog 창 크기 변화에 따라 내부 control 크기 자동 변경, sample source (0) | 2024.05.09 |