본문 바로가기
C++/WinAPI

[WinAPI] 윈도우 크기 지정

by sihyeong 2022. 11. 15.

클라이언트 영역

  • 실제 컨텐츠가 동작하는 범위를 가리킨다.

 

 

SetWindowPos()

  • HWND hwnd, 
    HWND hWndInsertAfter,
    int X, int Y, int cx, int cy, UINT uFlags
  • 위의 매개변수를 가지고 있으며
  • 보통 SetWindowPos()를 이용해서 윈도우의 위치와 화면의 크기를 변환시킨다.
  • cx, cy값으로 1280, 720을 줬을 경우 비 클라이언트 영역의 크기까지 합쳐서 크기를 변환시킨다.

AdjustWindowRect()

  • LPRECT lpRect,
        DWORD dwStyle,
        BOOL bMenu
  • 위의 매개변수를 가지며
  • AdjustWindowRect()를 호출하면 첫번째 매개변수로 주어진 화면의 크기만큼 클라이언트 영역이 될 수 있는 크기를 받아 올 수 있다.
  • RECT rt = {0, 0, 1280, 768}으로 호출했다면 {-8, -51, 1288, 776}과 같이 컨텐츠 영역이 1280,768이 되기 위한 전체 화면 크기를 받을 수 있다.
  • rt.right - rt.left, rt.bottom - rt.top을 하면 width와 height 값을 얻을 수 있음
  • 위에서 구한 width, height의 값으로 SetWindowPos()에 넘겨주면 원하는 크기의 클라이언트 영역을 생성할 수 있다. 

'C++ > WinAPI' 카테고리의 다른 글

[WinAPI] 키 입력 관리  (0) 2022.11.15
[WinAPI] DC, BITMAP, 더블버퍼링  (0) 2022.11.15
[WinAPI] 그리기  (0) 2022.11.13
[WinAPI] Win32API 기본  (0) 2022.11.13
[WinAPI] DeltaTime(델타타임) 구현  (0) 2022.10.10