1. OnDraw() 나 OnPaing() 에서 CDC* pDC 를 알고 있을 때, 해당 DC에 외부 BMP파일 출력하는 법
void CImgDlg::OnPaint() { CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here HANDLE bmp; CBitmap cBitmap; BITMAP bmpinfo; CDC memdc; bmp = LoadImage(NULL, "test3.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); cBitmap.Attach(bmp); cBitmap.GetBitmap(&bmpinfo); memdc.CreateCompatibleDC(&dc); memdc.SelectObject(bmp); dc.BitBlt(0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,&memdc,0,0,SRCCOPY); // 만약에 크기를 고정 시키고 싶다면 StretchBit를 사용 // dc.StretchBit(x,y,cx,cy,&memdc,0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,SRCCOPY); memdc.DeleteDC(); cBitmap.DeleteObject(); //AllocBuff(); // Do not call CDialog::OnPaint() for painting messages } |
2. Dialog에서 Picture Control을 설정한 상태, 그리고 리소스에서 BMP파일을 Import한 상태
HBITMAP hBmp=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(SUGARBMP),IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS); //SUGARBMP 는 Import된 BMP_ID img.SetBitmap(hBmp); |
3. Dialog에서 Picture Control을 설정한 상태, 그리고 외부 BMP파일 불러오기
HBITMAP hBmp=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),"test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); //SUGARBMP 는 Import된 BMP_ID img.SetBitmap(hBmp); |
출처 : http://anglehun.tistory.com/428
'김탱 개발자 > MFC' 카테고리의 다른 글
간단하게 Excel 읽고 쓰기 (BasicExcel 사용) (0) | 2016.02.22 |
---|---|
MFC 관련 팁들 (1) | 2015.11.30 |
[퍼옴] OnPaint() 와 OnDraw() 함수에 관하여 (0) | 2014.12.05 |
MFC 새 다이얼로그 창 열기 (0) | 2014.12.05 |
[퍼옴] MFC에서 사용되는 문자열(멀티바이트/유니코드)에 대한 고찰 (0) | 2014.07.17 |