Non Client 영역 칠하기 ( ex : 타이틀 바 )

 case WM_NCPAINT:
 case WM_NCACTIVATE:
  {
       HDC hDC = GetWindowDC( hWnd );
       if( hDC )
       {
            // 디폴트 리젼 제거 ( XP는 위쪽이 둥그니까.. )
            SetWindowRgn( hWnd, NULL, false );
            // Draw는 여기서..
            ReleaseDC( hWnd, hDC );
       }

        if( uMsg == WM_NCPAINT )
             return 0;
        if( uMsg == WM_NCACTIVATE )
             return TRUE;
  }
  break;

요는 WM_NCACTIVATE...
WM_NCPAINT는 쉽게 알게되는 반면에 WM_NCACTIVATE도 처리해줘야 한다는건
잘 안나온다. 비활성/활성으로 상태변경시 이 메세지가 오는데 이것도 처리해주지
않으면 다시 기본타이틀 모양으로 바뀌어 버린다. 그리고 WM_NCACTIVATE시에
리턴값이 TRUE여야 출력이외의 창간 우선순위처리들이 수행된다.

더 자세한것은 당연히 MSDN을..

Posted by 자갈공명

2008/12/08 16:23 2008/12/08 16:23
Response
No Trackback , No Comment
RSS :
http://zagal.net/tt/rss/response/26

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

Leave a comment
« Previous : 1 : ... 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : ... 47 : Next »