관리 메뉴

History

선 채우기 실습 본문

MFC/개인 실습

선 채우기 실습

luckybee 2022. 7. 5. 21:54
728x90
반응형
선 채우기 실습 영상

선 채우기 실습자료는 우선 2차원 배열로 구성되어있다. 2차원 배열은 백업할 배열과 상태를 담고 있는 배열 2가지로 구성했다. 또한 중첩 반복문을 이용해서 바탕이 되는 격자를 그린다. 격자는 OnPaint에서  Rectangle함수로 그렸다.

	// (0:없음, 1:이동경로, 2: 파란색, 3:빨간색)
	char m_state[Y_COUNT][X_COUNT];
	// 편집 상태로 복구하기 위해 백업된 상태 정보
	char m_backup_state[Y_COUNT][X_COUNT];

0은 아무 작업도 안 들어간 상태 1은 mousemove함수를 사용해서 마우스 왼쪽 버튼이 눌러진 상태라면 1(회색)을 대입했다. 

afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);

OnLButtonDown과 OnRButtonDown을 클래스 마법사에서 추가한 후 각각 컨트롤 키가 같이 눌러진 상태라면 2(파란색), 3(빨간색)이 각각 m_state의 배열에 대입된다. 

 

afx_msg void OnTimer(UINT_PTR nIDEvent);

마지막으로 시작 버튼을 눌렀을 때 m_state에 있던 배열을 m_backup_state배열에 memcpy함수로 복사를 한다. 그 후 OnTimer함수를 추가시킨 후 격자의 범위를 생각해서 상하 좌우로 색상을 채워간다.

728x90
반응형

'MFC > 개인 실습' 카테고리의 다른 글

베이지어 곡선 그리기  (0) 2022.08.03
MFC 예제 파일 정리 프로그램 만들기 실습1  (0) 2022.07.23
육각형 퍼즐 만들기-가상 메모리(CImage)  (0) 2022.06.29
CImage_MFC 복습 2  (0) 2022.05.21
CImage_MFC 복습 1  (0) 2022.05.21
Comments