본문 바로가기

윈도우 프로그램/C++

다이얼로그 리소스 등록된 비트맵 출력

CDC cdc;  

CDC* pDC;

CBitmap pWall;

BITMAP pBmpInfo;


pDC = GetDC(); 

cdc.CreateCompatibleDC(pDC);

pDC->SetBkMode(TRANSPARENT);

cdc.SetBkMode(TRANSPARENT); 

pWall.LoadBitmap(IDB_WALL);

pWall.GetBitmap(&pBmpInfo);


cdc.SelectObject(&pWall);


pDC->BitBlt(5, 60, pBmpInfo.bmWidth, pBmpInfo.bmHeight, 

                                                                         &cdc, 0, 0, SRCCOPY);


DeleteDC(cdc);

ReleaseDC(pDC);



LoadBitmap()함수는 리소스 내의 데이터만 가져올 수 있음. 특정 디렉토리의 bmp값을 불러오고 싶을 경우에는 다른 함수를 사용해야 함. 이걸로는 절대 읽어올 수 없다. 그리고 리소스 그림파일은 무조건 bmp파일 이어야 함. 위 코드에서 리소스가 bmp가 아닐경우 에러는 발생하지 않지만, 출력이 않됨.