본문 바로가기
C & C++/MFC 컨트롤

[Dialog] 윈도우 작업영역 크기 설정

by izen8 2011. 12. 14.
반응형

도우의 작업영역 크기를 설정하려면 아래의 메소드를 사용하면 된다.

 

아래의 메소드는 윈도우 작업영역을 설정하기 위하여서 AdjustWindowRectEx() 메소드와 SetWindowPos() 를 사용한다. 수직/수평 스크롤에 따른 영역 증가/축소는 개인 취향에 따라서 자유롭게 수정해서 사용하면 될 것 같다.

 

윈도우 API 정복 (개정판) - page 397

 

void SetClientRect(HWND hWnd,int width,int height)
{
    RECT crt;
    DWORD Style,ExStyle;

    SetRect(&crt,0,0,width,height);
    Style=GetWindowLong(hWnd,GWL_STYLE);
    ExStyle=GetWindowLong(hWnd,GWL_EXSTYLE);

    AdjustWindowRectEx(&crt,Style,GetMenu(hWnd) != NULL,ExStyle);
    if (Style & WS_VSCROLL) crt.right += GetSystemMetrics(SM_CXVSCROLL);
    if (Style & WS_HSCROLL) crt.bottom += GetSystemMetrics(SM_CYVSCROLL);
    SetWindowPos(hWnd,NULL,0,0,crt.right-crt.left,crt.bottom-crt.top,
        SWP_NOMOVE | SWP_NOZORDER);
}

반응형

댓글