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 자갈공명