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