본문 바로가기
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 로 선언해 준다...


    반응형

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