GSI

가끔 mfc로 작업을 하다 보면 Dialog에 Bitmap를 배경에 깔고 싶을때가 있다.
그래서 배경에 까는건 아니지만 Picture Control을 사용해서 적용해보았다.

1. 리소스에 비트맵을 추가하고 아이디는 IDB_STATUSMGR_BACKGROUND로 지정
    (실제 파일을 불러 오는것도 가능하지만 지금 내가 한것은 리소스를 통해서 한것이기에...)

2. Dialog에 Picture Control을 생성한다.
3. Alt + D를 사용해서 레이어를 하단으로 옮겨 주는것도 좋다.
4. Type를 Bitmap로 맞춰 준다.
    (처음에 기본이 frame로 되어 있다.)
5. IDC_STATIC로 되어 있는 이름을 다른 것으로 바꾼다.

6. 코드를 추가한다.
BOOL CDlgStatusMgr::OnInitDialog()
{
   ...
    CStatic* m_pPicture = (CStatic*)GetDlgItem(IDC_STATIC_BACKGROUND);
    assert(m_pPicture && "포인터가 구해지지 않았네욤.");

    //HBITMAP를 생성한다.
    HBITMAP hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
     MAKEINTRESOURCE(IDB_STATUSMGR_BACKGROUND),
     IMAGE_BITMAP,
     0,0,
     LR_LOADMAP3DCOLORS);

    //Picture Control에 이미지를 연결시킨다.
    m_pPicture->SetBitmap(hBmp);
   ...
}

위와 같이 진행 하면. 픽쳐 컨트롤에 이미지를 부여 할 수 있다.

Posted by gsi
: