실행중 윈도우 스타일 바꾸기

 

1) 다음 그림을 참조하여  메인메뉴에 다음 항목을 추가한다.

 

2) 클래스 위저드를 사용하여 위의 추가된 두 항목에 대한 핸들러를 메인 프레임에 만든다. 다음은 그 내용이다.

void CMainFrame::OnStyleNosysmenu()
{
        // 기존의 스타일 정보를 얻는다
        long style = GetWindowLong(m_hWnd, GWL_STYLE);
        // 시스템 메뉴 속성을 없앤다
        style &= ~WS_SYSMENU;
        // 변경된 스타일 반영
        SetWindowLong(m_hWnd, GWL_STYLE, style);
        // 화면이 실제로 변경된 것을 반영하도록 한다
        SendMessage(WM_NCPAINT, (WPARAM)1);
}

void CMainFrame::OnStyleSysmenu()
{
        long style = GetWindowLong(m_hWnd, GWL_STYLE);
        style |= WS_SYSMENU;
        SetWindowLong(m_hWnd, GWL_STYLE, style);
        SendMessage(WM_NCPAINT, (WPARAM)1);
}