윈도우 프로그래밍(한빛, MFC) 4장 연습, 심화문제 풀이
- 최초 등록일
- 2009.01.26
- 최종 저작일
- 2009.01
- 5페이지/ 압축파일
- 가격 1,000원
소개글
윈도우 프로그래밍(한빛, MFC) 4장 연습, 심화문제 풀이입니다.
한글문서와 소스(핵심만)파일로 구성되어있습니다.
목차
없음
본문내용
1. [그림4-9] 예제를 수정하여, 다른 윈도우에 가리거나 최소화 상태에서 복원되어 윈도우가 다시 그려져도 그린 원이 모두 나타나도록 하라.
풀이 : 원을 그린 위치를 CList에 저장하여 다시 출력하는 방식으로 하겠습니다.
1) CChildView 클래스 선언부에 #include <afxtempl.h> 추가 합니다. (CList 사용을 위해..)
2) CChildView 클래스의 멤버 변수로 CList<CPoint, CPoint&> 타입을 추가 합니다. 예 CList<CPoint, CPoint&> ptList;
3) 왼쪽버튼 클릭 메시지 핸들러를 추가한 후 다음과 같이 작성합니다.
void CChildView::OnLButtonDown(UINT nFlags, CPoint point)
{
ptList.AddTail(point); // 위치 저장
Invalidate(FALSE); // 그리기
CWnd ::OnLButtonDown(nFlags, point);
}
4) OnPaint() 함수를 다음과 같이 작성합니다.
void CChildView::OnPaint()
{
CPaintDC dc(this); // device context for painting
POSITION pos = ptList.GetHeadPosition();
while(pos != NULL)
{
CPoint pt = ptList.GetNext(pos);
dc.Ellipse(pt.x - 30, pt.y - 30, pt.x + 30, pt.y + 30);
}
}
2. [그림4-11] 예제를 수정하여, 다른 윈도우에 가리거나 최소화 상태에서 복원되어 윈도우가 다시 그려져도 타이틀바에 도형과 문자열이 그대로 표시되도록 하라.
풀이 : CMainFrame 클래스에 OnPaint() 핸들러 함수를 추가한후 다음과 같이 작성한다.
참고 자료
없음
압축파일 내 파일목록
심화문제/4장 심화문제.hwp
심화문제/ChildView.cpp
연습문제/4장 연습문제.hwp
연습문제/ChildView.cpp
연습문제/MainFrm.cpp
연습문제/simple.cpp