private: 
          // 리소스에 등록된 비트맵 이미지를 읽어들일 비트맵 객체 
          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; 
}

======================================================================================

void CTestPatternBrushDlg::OnDestroy() 

    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

+ Recent posts