본문 바로가기
IT창고/MFC

분할 윈도우 선 없애기...

by 창구창고 2007. 1. 22.
반응형

1. CSplitterLine 라는 클래스를 만든다......

2. CSplitterLine 의 상속을 CSplitterWnd 로 받는다...


class CSplitterLine : public CSplitterWnd

 

3. SplitterLine.cpp 파일의 다음 부분을 수정 한다....


IMPLEMENT_DYNAMIC(CSplitterLine, CSplitterWnd)



BEGIN_MESSAGE_MAP(CSplitterLine, CSplitterWnd)
END_MESSAGE_MAP()

4. OnDrawSplitter 를 재정의 한다....

5. 다음 코드를 추가한다..

void CSplitterLine::OnDrawSplitter(CDC* pDC, ESplitType nType, const CRect& rect)
{
 // TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.

 if( nType == splitBorder ) {
  CClientDC dc( this );
  CPen *pBorderPen, *pOldPen;
  pBorderPen = new CPen( PS_SOLID, 3, ::GetSysColor( COLOR_3DFACE ) );
  pOldPen = dc.SelectObject( pBorderPen );
  dc.SelectStockObject( HOLLOW_BRUSH );
  dc.Rectangle( rect );
  dc.SelectObject( pOldPen );
  if ( pBorderPen ) delete pBorderPen;   
 }
 
 if( nType == splitBar )
 {
  CSplitterWnd::OnDrawSplitter(pDC, nType, rect);
 }
 
 
}

6. 메인프레임 헤더 파일에 CSplitterLine 의 헤더파일을 추가 하고,

7. CSplitterWnd 를 CSplitterLine 로 선언해 준다...


반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."