[MFC] Bitmap
1. 프로젝트 생성
MFC exe, Dialog-Based, “MyBmp”
2. 리소스 편집
모든 default control들을 지우고, Dialog Resizing 가능 속성 선택
Menu 삽입 후 menu 항목 추가
파일(&F) : 종료(&X) (IDM_EXIT)
도움말(&H) : ...에 관하여 (IDM_ABOUT)
Dialog box resource와 menu 연결(dialog box 특성)
3. 코드 작성
복습
(IDM_EXIT, OnExit) (IDM_ABOUT, OnAbout)
4. 그림을 추가
그림파일 준비
리소스 pop-up menu에서 [Insert] 선택
bitmap [Import]
참고) 파일이 256 컬러 이하의 해상도의 BMP
IDB_BMPSAMP
5. 그림 표시
CMyBmpDlg의 OnPaint 함수
else 파트에
CPaintDC dc(this);
HBITMAP hBmp = ::LoadBitmap(
AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_BMPSAMP));
HDC hMemDC = ::CreateCompatibleDC(NULL);
SelectObject(hMemDC, hBmp);
StretchBlt(dc.m_hDC, 0, 0, 460, 257,
hMemDC, 0, 0, 460, 257, SRCCOPY);
DeleteDC(hMemDC);
DeleteObject(hBmp);
Compile & Build
6. 그림 크기 변경
CMyBmpDlg에 size member variable 추가
CSize m_size ;
WM_SIZE message handling (OnSize)
Class Wizard : CMyBmpDlg, WM_SIZE
m_size = CSize(cx, cy);
Invalidate();
OnPaint 코드 변경
StretchBlt(dc.m_hDC, 0, 0, m_size.cx, m_size.cy,
hMemDC, 0, 0, 460, 257, SRCCOPY);
'IT Note > 기타언어' 카테고리의 다른 글
[MFC] Font (0) | 2008.11.24 |
---|---|
[MFC] 비트맵(Bitmap) 출력 (0) | 2008.11.24 |
[MFC] Shape (0) | 2008.11.24 |