Mafa Dev
[MFC] 버튼,화면배경에 Bitmap 이미지 씌우기 본문
1. 버튼 컨트롤에 Bitmap 이미지 씌우는 순서
1-1. 비주얼스튜디오에서 다이얼로그 형식의 프로젝트를 생성한 뒤, 버튼 컨트롤을 만든다.
1-2. 윈도우 탐색기에서 사용하고자 하는 bmp 이미지 파일을 프로젝트의 res 폴더에 복사한다.(버튼 하나 당 4개 이미지 파일이 필요함)
1-3. 프로젝트 리소스 뷰의 rc 폴더에서 마우스 오른쪽 버튼을 눌러 "리소스 추가" 메뉴 선택 -> "Bitmap" 선택 & "가져오기" 선택 ->
이미지 4개 선택 -> rc 폴더아래에 BITMAP 폴더가 생성되고 그안에 가져온 이미지가 나타나면 각 이미지의 속성화면에서 ID를
알아보기 쉬운 이름으로 수정한다.
1-4. 버튼 변수이름을 설정하되, 변수형식 지정란에 CBitmapButton 이라고 클래스 이름을 입력한 뒤 임의의 변수이름을 지정한다.
1-5. 다이얼로그.cpp파일안에 DDX_control이 제대로 되어있나 확인한 뒤, 다이얼로그 화면이 초기화 될때 비트맵 버튼도 함께
만들어져야 하므로 CBitmapDlg::OnInitDialog() 함수안에 아래 코드를 입력한다.
( m_btnBmp는 버튼컨트롤 변수명이고 IDB_BITMAP_1, IDB_BITMAP_2, IDB_BITMAP_3, IDB_BITMAP_4은 각 이미지 ID 이다. )
//버튼에 이미지를 입힘(아래 매개변수 설명 - 1.기본이미지 2.눌렀을때 3.포커스ON 4.비활성화 상태)
m_btnBmp.LoadBitmaps(IDB_BITMAP_1, IDB_BITMAP_2, IDB_BITMAP_3, IDB_BITMAP_4);
m_btnBmp.SizeToContent(); // 버튼에 이미지를 버튼크기에 맞게 자동조절
1-6. 프로젝트를 컴파일&실행시키면 rc파일이 외부에서 수정되었으니 다시 로드하겠냐는 메시지박스가 나타나면 "예"를 선택한다.
1-7. 아직 이미지가 버튼에 적용되지 않았을 것이다. 다이얼로그 화면에서 버튼컨트롤을 선택한 뒤, 속성창 항목에서
"Owner Draw" 항목을 true로 수정한 뒤 다시 컴파일하여 실행하면 이미지가 화면에 적용된다.
2. 화면배경에 Bitmap 이미지 씌우는 순서
2-1. 위 버튼 이미지 씌우기의 처음부터 1-3번까지 동일
2-2. 다이얼로그 화면에서 도구상자에 "Picture Control"항목을 선택후, 다이얼로그 화면의 적당한 영역에 위치시킨다.
(영역크기는 나중에 자동으로 맞춰지므로 신경끌 것)
2-3. 설정한 Picture Control의 속성창에서 Type 항목을 "Bitmap"으로 설정한 뒤, Picture Control의 변수를 추가한다.(m_imgBg)
2-4. Dlg.cpp 소스 안의 OnInitDlg() 함수안에 아래 코드 삽입.
// 배경화면 이미지 연결코드
HBITMAP hBit=LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_BG));
m_imgBg.SetBitmap(hBit);
CRect rt;
GetClientRect(&rt);
m_imgBg.SetWindowPos(NULL,0,0,rt.Width(), rt.Height(),SWP_SHOWWINDOW);
2-5. 컴파일 후, 실행하면 배경화면에 이미지가 적용되어 나온다.
'개발 > MFC 프로그래밍' 카테고리의 다른 글
[MFC] 쓰레드 사용법 (0) | 2013.01.08 |
---|---|
쓰레드 사용법 (0) | 2013.01.04 |
구글맵 api 위도,경도, 주소 표시하기 (0) | 2013.01.03 |
채팅창처럼 한줄 추가 ( 433p ) (0) | 2012.12.27 |