본문 바로가기
C & C++/MFC 컨트롤

[Dialog] 다이얼로그에 Bmp 입히기 및 다이얼로그 색상 바꾸기

by izen8 2011. 5. 21.
반응형

/////////////////////////////////////////////////////////////////////////////////////////////////

// Dlg.h
public:
HBITMAP m_hBitmap; // Dialog에 배경이미지 입히기 위한 변수.
BITMAP m_bBit;  // bitmap이미지 정보담는 변수.

/////////////////////////////////////////////////////////////////////////////////////////////////

// Dlg.cpp
BOOL Dlg::OnInitDialog()
{
// 리소스에 추가된 bitmap 파일 로딩 
m_hBitmap = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP1)); 
// 비트맵 개체에서 비트맵 헤더를 구한다. (이미지 사이즈 얻기위해)
GetObject(m_hBitmap, sizeof(BITMAP), &m_bBit); 
// Dialog 위치및 크기 변경 ( full screen 만들기 위해 )
SetWindowPos(NULL, 0, 0, m_bBit.bmWidth, m_bBit.bmHeight, SWP_NOZORDER);
}

void CMTrack_APPDlg::OnPaint()
{
...
 // 스크린과 호환되는 DC생성.
 HDC hMemDC = CreateCompatibleDC(dc);
 // 호환DC에 비트맵을 선정.
 SelectObject(hMemDC, m_hBitmap);
 // 메모리 DC에서 스크린 DC로 이미지 복사
 BitBlt(dc, 0, 0, m_bBit.bmWidth, m_bBit.bmHeight, hMemDC, 0, 0, SRCCOPY);
 // 메모리 DC삭제
 DeleteDC(hMemDC);
}

/////////////////////////////////////////////////////////////////////////////////////////////////


WM_CTLCOLOR 

HBRUSH CCommuView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);

hbr = CreateSolidBrush(RGB(245,245,245)); // 이 값에 해당되는 색으로 변경된다.

return hbr;

}





반응형

'C & C++ > MFC 컨트롤' 카테고리의 다른 글

[Dialog] XP 스타일 다이얼로그  (0) 2011.05.25
[상태바] 상태바 설정  (0) 2011.05.21
[Ctrl] 컨트롤 색상변경  (0) 2011.05.21
[Edit] 숫자 문자 유효성 검사  (0) 2011.05.21
[List] Bitmap List  (0) 2011.05.21

댓글