Win API/4. GDI
활용 - 정사각형들을 화면 크기에 맞게 배치하기
DesignatedRoom
2021. 4. 1. 21:12
SelectObject함수를 활용해서 각 정사각형들의 테두리 색과 채움색이 전부 다르다는 조건을 붙이자.
즉, 다음과 같은 실행결과가 나와야 한다.

사각형을 그리는 함수는 Rectangle 함수를 이용할 것이다.
이 함수의 매개변수는 렌더할 사각형의 좌측상단점과 우측하단점을 필요로 한다.
그렇기 때문에, 이 좌표들을 가지고 작업을 해야할 필요가 있다.
일단 정사각형을 여러 개를 그려야 하므로, 그리는 순서를 먼저 생각해보자.
위의 각 정사각형들을 하나의 이차원 배열로 생각하면
행을 기준으로 열을 탐색하는 방향으로 생각을 해서 그려보자.
좌표로 생각하면 초기위치를 ( 0, 0 )으로 잡고 정사각형의 변을 100으로 두면
첫 번째 정사각형의 렌더할 좌표는 좌측상단( 0,0) 우측하단( 0 + 100, 0 + 100 ) 이고
두 번째 정사각형의 렌더할 좌표는 좌측상단( 100,0) 우측하단(100 + 100, 0 + 100 ) 이고
이런 식으로 렌더를 하다가 가로로 정사각형을 모두 렌더했을 때, 밑으로 이동해서 다시 이 과정을 반복한다.
모든 정사각형을 그렸을 때의 조건은 렌더할 정사각형의 y좌표가 화면의 세로 길이를 벗어났는지를 체크하면 된다.
( 좀 더 정확하게는 렌더할 정사각형의 우측하단점의 y좌표를 이용하면 된다. )


소스 파일
WinMain.cpp
0.00MB