private:
// 리소스에 등록된 비트맵 이미지를 읽어들일 비트맵 객체
CBitmap m_logo_bitmap;
// 대화상자의 배경에 사용할 블러쉬 객체
CBrush m_bk_brush;
// 리소스에 등록된 비트맵 이미지를 읽어들일 비트맵 객체
CBitmap m_logo_bitmap;
// 대화상자의 배경에 사용할 블러쉬 객체
CBrush m_bk_brush;
======================================================================================
BOOL CTestPatternBrushDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
// 리소스 파일에서 비트맵을 읽어 들인다.
m_logo_bitmap.LoadBitmap(IDB_ZZANG_LOGO);
// 읽어 들인 비트맵을 이용하여 패턴 블러쉬를 생성한다.
m_bk_brush.CreatePatternBrush(&m_logo_bitmap);
return TRUE;
}
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
// 리소스 파일에서 비트맵을 읽어 들인다.
m_logo_bitmap.LoadBitmap(IDB_ZZANG_LOGO);
// 읽어 들인 비트맵을 이용하여 패턴 블러쉬를 생성한다.
m_bk_brush.CreatePatternBrush(&m_logo_bitmap);
return TRUE;
}
======================================================================================
void CTestPatternBrushDlg::OnDestroy()
{
CDialog::OnDestroy();
// 사용하던 블러쉬 객체와 비트맵 객체를 제거한다.
m_bk_brush.DeleteObject();
m_logo_bitmap.DeleteObject();
}
{
CDialog::OnDestroy();
// 사용하던 블러쉬 객체와 비트맵 객체를 제거한다.
m_bk_brush.DeleteObject();
m_logo_bitmap.DeleteObject();
}
======================================================================================
BOOL CTestPatternBrushDlg::OnEraseBkgnd(CDC* pDC)
{
// 사용자가 정의한 배경 그리기 루틴이 CDialog::OnEraseBkgnd 함수보다 먼저
// 위치하면 기본 대화상자 그리기 루틴에 의해서 아무것도 나오지 않는다. 따라서
// 항상 자기가 표시하고 싶은 정보는 CDialog::OnEraseBkgnd 함수보다 아래쪽에
// 정의 해야한다.
BOOL ret = CDialog::OnEraseBkgnd(pDC);
CRect r;
// 대화상자의 크기를 얻는다.
GetClientRect(r);
// 현재 DC에 자신이 생성한 블러쉬를 사용하도록 설정한다.
CBrush *p_old_brush = pDC->SelectObject(&m_bk_brush);
// 대화상자의 크기보다 패턴블러쉬에 사용된 이미지가 작다면 Tile 형식으로
// 이미지가 채워진다.
pDC->Rectangle(r);
// 이전에 사용한던 블러쉬로 복구한다.
pDC->SelectObject(p_old_brush);
return ret;
}
'NativeCode > mfc' 카테고리의 다른 글
리스트 컨트롤 색상 다루기 (1) | 2010.03.18 |
---|---|
CTRL 값 얻기 (0) | 2010.03.18 |
부모윈도우 호출 (0) | 2010.03.18 |
좌표, 영역 관련 함수 (0) | 2010.03.18 |
컨트롤러 투명화 & 색 변화 시키기 (0) | 2010.03.18 |