-
활용 - 정사각형들을 화면 크기에 맞게 배치하기Win API/4. GDI 2021. 4. 1. 21:12
SelectObject함수를 활용해서 각 정사각형들의 테두리 색과 채움색이 전부 다르다는 조건을 붙이자.
즉, 다음과 같은 실행결과가 나와야 한다.
사각형을 그리는 함수는 Rectangle 함수를 이용할 것이다.
이 함수의 매개변수는 렌더할 사각형의 좌측상단점과 우측하단점을 필요로 한다.
그렇기 때문에, 이 좌표들을 가지고 작업을 해야할 필요가 있다.
일단 정사각형을 여러 개를 그려야 하므로, 그리는 순서를 먼저 생각해보자.
위의 각 정사각형들을 하나의 이차원 배열로 생각하면
행을 기준으로 열을 탐색하는 방향으로 생각을 해서 그려보자.
좌표로 생각하면 초기위치를 ( 0, 0 )으로 잡고 정사각형의 변을 100으로 두면
첫 번째 정사각형의 렌더할 좌표는 좌측상단( 0,0) 우측하단( 0 + 100, 0 + 100 ) 이고
두 번째 정사각형의 렌더할 좌표는 좌측상단( 100,0) 우측하단(100 + 100, 0 + 100 ) 이고
이런 식으로 렌더를 하다가 가로로 정사각형을 모두 렌더했을 때, 밑으로 이동해서 다시 이 과정을 반복한다.
모든 정사각형을 그렸을 때의 조건은 렌더할 정사각형의 y좌표가 화면의 세로 길이를 벗어났는지를 체크하면 된다.
( 좀 더 정확하게는 렌더할 정사각형의 우측하단점의 y좌표를 이용하면 된다. )
소스 파일
'Win API > 4. GDI' 카테고리의 다른 글
MoveToEx & LineTo 함수를 이용한 선 그리기 (0) 2021.04.02 활용 - 체크박스의 상태에 따라 도형 출력하기 (0) 2021.04.02 DrawText - 문자열 출력 함수 (0) 2021.04.01 TextOut - 문자열 출력 함수 (0) 2021.04.01 GDI Object (0) 2021.04.01