OS/Windows API
#4 Windows API 윈도우 작업영역 지정VallistA2014. 8. 25. 15:37
Win32 API에서는 여러가지 기능을 제공하는데, 그 기능중에 하나인 윈도우 작업 영역 지정에 대해서 알아보겠습니다.
원래 보통 윈도우에서 크기 설정을 할 때는 CreateWindow를 쓰게 됩니다.
hWnd = CreateWindow(D_GAME_NAME, D_GAME_NAME, WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION, D_SCREEN_XPOS, D_SCREEN_YPOS, D_SCREEN_WIDTH, D_SCREEN_HEIGHT, NULL, NULL, hInst, 0);
요로코놈 말이죠.
근데 실제로 들여다보면 우리가 1024, 768이라고 지정을해서 윈도우를 만들었지만 사용하는 윈도우의 크기는 그 윈도우에 맞지가 않습니다.
왜 일까요?
CreateWindow로 생성을 하게되면 우리의 작업영역은 위에 뜨는 최소화, 최대화, 종료 버튼이 있는 틀 사각형과 합쳐진 크기로 생성되기 때문이죠.
그렇다면 이 것을 해결할 방법이 없을까요?
그래서 API에서는 AdjustWindowRect라는 것을 지원합니다.
AdjustWindowRect( Rect 구조체의 포인터형, 윈도우 스타일, 메뉴 여부 );
AdjustWindowRect(&Rect, WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION, false);
쉽게 요로코놈 써주시면 되겠습니다.
그렇게 얻어온 Rect에 우리는 크기를 정해주어야 겠죠?
크기를 정해주는 함수도 지원합니다.
SetWindowPos( 핸들 , NULL , 변경할 위치 X, 변경할 위치 Y, 변경할 사이즈 가로크기, 변경할 사이즈 세로크기, 플레그);
해주고 Rect 각각의 값에 맞춰서 SetWindowPos를 해주시면 정확해 집니다.
'OS > Windows API' 카테고리의 다른 글
#6 Windows API Timer (1) | 2014.08.26 |
---|---|
#5 Windows API 게임의 기본 구조 (0) | 2014.08.26 |
#3 Windows API DC란 무엇인가? (1) | 2014.08.20 |
#2 Windows API의 시스템 알아보기 (0) | 2014.08.20 |
#1 Windows API 소스 분석 (3) | 2014.08.20 |
댓글
VallistA
병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.
현재는 이 블로그를 운영하지 않습니다.
vallista.kr 로 와주시면 감사하겠습니다!
자고 싶습니다. ㅠㅠ
Github :: 링크
궁금한점 문의 주시면 답변드리도록 하겠습니다
VISITED
Today :
Total :
Lately Post
Lately Comment