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

[Tip] 네이트온 올림글 따라하기

by izen8 2011. 4. 4.
반응형


네이트온에 보면 저런 기능이 있다.

아티클들이 시간이 되면 스르륵 올라가서 다음 아티클이 나온다.

그 기능을 구현해보자.



  1. void CNateDlg::DrawUpping( CDC* pDC )   
  2. {   
  3.     CDC memDC;   
  4.     CBitmap bitmap;   
  5.     CRect rect;   
  6.     memDC.CreateCompatibleDC( pDC );   
  7.     bitmap.CreateCompatibleBitmap( pDC,    
  8.                                    m_clsRect.Width() - m_clsScroll.Width(),    
  9.                                    m_clsRect.Height() * 2    
  10.                                   );   
  11.     memDC.SelectObject( &bitmap);   
  12.     memDC.PatBlt( 0,    
  13.                   0,    
  14.                   m_clsRect.Width() - m_clsScroll.Width(),    
  15.                   m_clsRect.Height() * 2,   
  16.                   WHITENESS   
  17.                  );   
  18.        
  19.     rect = m_clsRect;   
  20.        
  21.     // 위치를 변화 시킨다   
  22.     m_nPos -= UP_INCREMENT;   
  23.     m_clsRect.top = 0 + m_nPos;   
  24.        
  25.     m_nText -= UP_INCREMENT;   
  26.     rect.top = m_clsOriginal.Height() + m_nText;   
  27.        
  28.     memDC.DrawText(g_strOther[m_nArticle], m_clsRect, NULL );   
  29.     memDC.DrawText(g_strOther[m_nNextArticle], rect, NULL);   
  30.        
  31.     // 화면에 복사해준다   
  32.     pDC->BitBlt( 0,   
  33.                  0,    
  34.                  m_clsRect.Width() - m_clsScroll.Width(),    
  35.                  m_clsRect.Height() * 2,    
  36.                  &memDC,    
  37.                  0,    
  38.                  0,    
  39.                  SRCCOPY    
  40.                 );   
  41.        
  42.     bitmap.DeleteObject();   
  43.     ReleaseDC( &memDC );   
  44.   
  45.     if ( m_clsRect.top == (m_clsOriginal.Height() * -1) )   
  46.     {   
  47.         m_clsRect = m_clsOriginal;   
  48.         // 다음 글을 결정한다. m_nAricle과 m_nNextArticle   
  49.         CalcNextArticle();   
  50.         m_nPos = 0;   
  51.         m_nText = 0;   
  52.         m_bComplete = TRUE;   
  53.     }   
  54. }  
반응형

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

[Tip] 인텔리젼스 구현  (0) 2011.04.04
[Tip] 썸네일 리스트 미리보기 만들기  (0) 2011.04.04
[Tab] 탭 컨트롤러 만들기  (0) 2011.03.29
[Tip] 트레이 아이콘 조작  (0) 2011.03.29
[Dialog] 전체화면 만들기  (0) 2011.03.29

댓글