Systems/Windows2008.06.09 16:06
이 책을 번역한지 꽤 시간이 지난거같습니다만, 최근에 이 책의 11장에 실린 예제에 관한 메일 두통을 받았습니다. 11장에 실린 예제가 이해하기 어렵다는 것이었습니다. 10장까지의 내용을 잘 따라하신 분이라면 그다지 큰 무리없이 하실 수 있을것 같은데 말이죠. 그래서 11장에 실린 내용에 잘못된 부분이 있나 검증도 해 볼겸, 한번 책의 예제를 그대로 따라해봤습니다.

사용자 삽입 이미지
우선 MFC AppWizard(exe)를 선택합니다.

사용자 삽입 이미지
SDI 프로그램을 만들어야 하니까, Single Document를 선택합니다.

사용자 삽입 이미지
대화상자를 하나 그립니다. 이 대화상자의 ID는 IDD_MAP_MODE로 해 놓습니다. 콤보 박스를 하나 그리고, 그 박스의 ID는 IDC_COMBO로 해 놓습니다. 여기까지는 간단합니다.

사용자 삽입 이미지
다이얼로그 박스를 다 그린다음에는 ctrl+W를 누르거나 다이얼로그 박스 그림을 더블클릭해서 해당 다이얼로그 박스에 대한 새로운 클래스를 만듭니다. 이름은 위와 같이 적어주면 됩니다.

사용자 삽입 이미지
그런 다음,  IDC_COMBO에 대한 멤버 변수를 추가합니다. 위의 화면에서 IDC_COMBO를 클릭한 다음에, Add Variable을 눌러주면 됩니다.

사용자 삽입 이미지
그러면 위와 같은 창이 뜨는데, 역시 위와 같이 입력해주고 OK하면 됩니다.

사용자 삽입 이미지
그런 다음에는 다이얼로그 박스 그림으로 돌아가서, 콤보 박스의 Property를 편집합니다. Data 부분에 위와 같이 적어주면 됩니다. 여러줄을 적으려면, 리턴 키를 누를 때 Ctrl키를 같이 누르면 됩니다.

사용자 삽입 이미지
이제 새로운 메뉴 항목을 보기(View) 아래에 추가할 차례입니다. 빈 곳을 더블클릭하면 아래와 같은 화면이 나타날 것입니다.

사용자 삽입 이미지
위의 화면에 역시 위와 같이 입력해 줍니다.

사용자 삽입 이미지
그런 다음에는 추가된 메뉴위에서 마우스 오른쪽 버튼을 클릭한 다음에 ClassWizard를 선택합니다.

사용자 삽입 이미지
위와 같이, Object ID가운데에서는 ID_VIEW_MAP_MODE를 선택하고, 오른쪽에 나타나는 Messages 가운데에서는 COMMAND를 선택합니다. 그런 다음에 Add Function 버튼을 누릅니다.

사용자 삽입 이미지
위와 같은 화면이 나타날텐데, 거기에 위와 같이 입력되어 나타날 것입니다. 그대로 OK 버튼을 누릅니다.

사용자 삽입 이미지
이제 소스 코드 편집창이 나타날 것인데, 거기에 책에 실린 소스코드(목록 11.3)를 입력합니다.

사용자 삽입 이미지
위와 같이 DCTestView.h 코드도 수정합니다.

사용자 삽입 이미지
include 해 주는 부분도 위와 같이 수정합니다.

사용자 삽입 이미지
이제 CDCTestView::OnDraw를 수정할 차례입니다. 위와 같이 선택한 다음에 (Ctrl + W를 누르면 나오는 화면입니다) 우측의 Edit Code 버튼을 누릅니다. 그런 다음 목록 11.5에 실린 코드를 입력합니다.

사용자 삽입 이미지
입력이 다 되었으면, 이제 마지막으로 CDCTestView 클래스의 생성자를 수정합니다.

사용자 삽입 이미지
코드를 정상적으로 입력하였다면 (그렇지 않았다면 에러메시지가 떴을 테지만) 위와 같은 메시지가 화면에 출력되는 것을 볼 수 있습니다. MAP MODE를 바꾸려면 아까 추가했던 메뉴 항목을 클릭하고 콤보 박스 안의 다른 항목을 선택한 다음 OK를 눌러주면 됩니다.

두 분이나 질문하실 만큼 그렇게 난감한 대목은 찾을수가 없네요. ^^;

아무튼, 위와 같이 하시면 되구요. 혹시 몰라서 예제 코드를 첨부합니다.


신고
Posted by 이병준

소중한 의견, 감사합니다. ^^