본문 바로가기

Book/Reading

열혈강의 Visual C++ 2008 MFC 윈도우 프로그래밍 (전문 윈도우 개발자로 가기 위한 빠른 선택)

1. 전문 윈도우 개발자를 양성한다는 목표로 내용 구성
2. 실무 활용도가 높은 검증된 예제를 수록
3. MFC v9.0 기반의 최신 프로그래밍 기법 수록
4. 윈도우 시스템 프로그래밍까지 한 번에 학습
5. 윈도우 프로그래밍을 배우려는 개발 입문자
6. 실전 감각을 익히고자 하는 초급 개발자
7. MFC Feature Pack과 같은 최신 기법을 배우려는 중급 개발자
8. 윈도우 시스템 프로그래밍을 빠르게 정리하고자 하는 독자 [예스24 제공]
#. 목차

[들어가기에 앞서]
Part 1 윈도우 프로그래밍의 기본
1장 윈도우 프로그래밍 모델
1.1 윈도우 프로그래밍의 시작(HelloWorld)
1.2 메시지 큐(Message Queue)
1.3 윈도우의 등록과 생성
1.4 메인 메시지 루프
1.5 윈도우 프로시저 함수

2장 CWnd 클래스
2.1 MFC에 대해서
2.2 CWnd 클래스
2.3 초기화 관련 메서드

3장 MFC 코드의 기본 구조
3.1 윈도우들의 구성과 기본 구조
3.2 CWinApp 클래스
3.3 CFrameWnd 클래스
3.4 CDocument 클래스
3.5 메시지 맵(Message Map)

4장 MFC 코드의 흐름
4.1 분석 대상 코드 작성
4.2 MFC 응용 프로그램의 시작
4.3 MFC 응용 프로그램의 종료
4.4 메시지의 발생과 처리

5장 키보드 입력
5.1 키보드 메시지
5.2 시스템 키보드 메시지

6장 마우스 입력
6.1 마우스 메시지
6.2 마우스 움직임의 조합
6.3 마우스 이벤트의 추적

7장 GDI 기본
7.1 GDI와 DC에 대해서
7.2 WM_PAINT 메시지와 DC(Device Context)
7.3 펜(Pen)과 브러시(Brush)
7.4 각종 도형 그리기
7.5 글꼴(Font)과 문자열 다루기
7.6 직접 버튼 컨트롤 구현하기

8장 비트맵과 이미지 처리
8.1 전형적인 이미지 출력
8.2 고급 이미지 출력 함수
8.3 CImage 클래스의 활용
8.4 색상(Color)의 변환

9장 GDI 고급
9.1 윈도우 영역
9.2 그리기(Drawing) 모드
9.3 매핑(Mapping) 모드
9.4 프린터 출력

Part 2 컨트롤 및 기본 프레임워크
10장 메뉴/바로 가기 키/도구 모음/상태 표시줄
10.1 기본 메뉴
10.1.1 기본 메뉴의 작성
10.1.2 토글(Toggle) 메뉴
10.1.3 메뉴/도구 모음/상태 표시줄 연결
10.1.4 메뉴 항목 제어
10.2 바로 가기 키(Shortcut Key)
10.3 응용 메뉴
10.3.1 하위(Sub) 메뉴의 구성
10.3.2 TrackPopupMenu( ) 함수
10.3.3 명령 라우팅(Routing)
10.4 도구 모음(Toolbar)과 상태 표시줄(Status Bar)
10.4.1 도구 모음의 활용
10.4.2 상태 표시줄의 활용

11장 컨트롤 윈도우의 기본
11.1 스태틱 텍스트(Static Text)
11.2 에디트 컨트롤
11.3 대화 상자 기반(Dialogbased) 응용 프로그램
11.3.1 대화 상자 기반 프로젝트의 생성
11.3.2 스태틱 텍스트/에디트 컨트롤의 편집과 활용
11.3.3 DDX/DDV 메커니즘
11.3.4 탭 순서(Tab Order)
11.4 컨트롤 윈도우의 리소스 속성 제어
11.5 링크(Link) 컨트롤
11.6 통지 메시지(Notification Message)

12장 버튼 컨트롤
12.1 버튼(Button) 컨트롤
12.2 확인란(Check Box)
12.3 라디오 버튼(Radio Button)
12.4 윈도우 비스타 전용 버튼
12.4.1 스플릿 버튼(Split Button)
12.4.2 명령 버튼(Command Button)

13장 목록 상자(List Box)와 콤보 상자(Combo Box)
13.1 목록 상자(List Box)
13.1.1 항목(Item)의 추가/삭제
13.1.2 검색(Find)과 정렬(Sort)
13.1.3 통지 메시지 처리
13.2 콤보 상자(Combo Box)
13.2.1 내장 에디트 컨트롤
13.2.2 내장 목록 상자(List Box)
13.2.3 통지 메시지 처리
13.3 확장 콤보 상자(Combo Box)
13.3.1 CImageList 클래스
13.3.2 항목(Item)의 추가/삭제

14장 프로그레스(Progress) 컨트롤/슬라이더(Slider) 컨트롤/스핀(Spin) 컨트롤
14.1 프로그레스(Progress) 컨트롤
14.2 슬라이더(Slider) 컨트롤
14.3 스핀(Spin) 컨트롤

15장 리스트(List) 컨트롤/트리(Tree) 컨트롤
15.1 리스트(List) 컨트롤
15.1.1 리스트 컨트롤의 생성과 활용
15.1.2 스타일의 변경
15.1.3 항목(Item) 문자열의 동적 변경
15.1.4 확장 스타일의 활용
15.1.5 그룹 관리
15.1.6 헤더(Header) 컨트롤과 항목의 정렬(Sort)
15.1.7 시스템 이미지 목록의 적용
15.2 트리(Tree) 컨트롤
15.2.1 트리 컨트롤의 생성과 활용
15.2.2 통지 메시지 처리
15.2.3 자식(Child) 항목의 처리
15.3 드래그 앤 드롭(Drag-and-drop)

16장 기타 컨트롤
16.1 페이저(Pager) 컨트롤
16.2 애니메이션(Animation) 컨트롤
16.3 달력 컨트롤(Month Calendar 컨트롤/Date Time Picker 컨트롤)
16.4 IP 주소(Address) 컨트롤
16.5 네트워크 주소(Network Address) 컨트롤
16.6 탭(Tab) 컨트롤

17장 대화 상자(Dialog Box)
17.1 사용자 정의 대화 상자(Dialog Box)
17.1.1 모달(Modal) 대화 상자
17.1.2 모덜리스(Modeless) 대화 상자
17.2 공용 대화 상자(Common Dialog Box)
17.2.1 파일 대화 상자(CFileDialog)
17.2.2 글꼴 대화 상자(CFontDialog)
17.2.3 색 대화 상자(CColorDialog)
17.2.4 폴더 찾아보기 대화 상자(::SHBrowseForFolder( ) 함수)
17.3 HTML 대화 상자
17.3.1 CDHtmlDialog 클래스와 이벤트 맵
17.3.2 실무 활용 예
17.4 메시지 상자(Message Box)

Part 3 고급 사용자 인터페이스
18장 깜빡임 방지
18.1 화면 그리기의 구조
18.2 눈속임의 미학
18.3 더블 버퍼링(Double Buffering)

19장 다중 뷰(Multiple View)
19.1 동적 분할 윈도우
19.2 정적 분할 윈도우
19.3 MDI를 닮은 SDI
19.4 스크롤 뷰(Scroll View)

20장 MFC의 구조와 이론
20.1 SDI(Single Document Interface)
20.1.1 SDI 템플릿(Template)
20.1.2 CDocument 클래스
20.2 직렬화(Serialization)
20.2.1 Serialize( ) 함수
20.2.2 CFile 클래스
20.2.3 CArchive 클래스
20.3 MDI(Multiple Documents Interface)
20.4 MFC 객체 간의 접근 방법
20.4.1 SDI 형식에서
20.4.2 MDI 형식에서

21장 특별한 메시지
21.1 사용자 정의 메시지
21.2 타이머(Timer)
21.3 윈도우 세션(Session)의 종료
21.4 사용자 전환

22장 서브 클래싱(Sub-classing)과 확장 컨트롤
22.1 서브 클래싱(Sub-classing)
22.2 오너 드로우(Owner-draw) 버튼
22.3 확장 프로그레스(Progress) 컨트롤

23장 GDI+
23.1 GDI+에 대해서
23.2 펜과 직선 그리기
23.2.1 꺾임 처리
23.2.2 끝 부분 처리
23.3 곡선과 안티 에일리어싱(Anti-aliasing)
23.4 도형 그리기
23.4.1 사각형
23.4.2 원
23.4.3 다각형
23.5 브러시(Brush)
23.5.1 단색(Solid) 브러시
23.5.2 빗살 무늬(Hatch) 브러시
23.5.3 그라데이션(Gradation) 브러시
23.5.4 텍스처(Texture) 브러시
23.6 외부 이미지 파일의 처리
23.6.1 Image 클래스
23.6.2 Bitmap 클래스
23.6.3 CachedBitmap 클래스
23.7 글꼴(Font)과 문자열 그리기
23.7.1 글꼴(Font)
23.7.2 출력 형식
23.8 경로(Path)와 영역(Region)
23.8.1 경로(Path)
23.8.2 영역(Region)
23.9 좌표계 변환

Part 4 MFC Feature Pack
24장 기본 구조
24.1 MFC Feature Pack에 대해서
24.2 새롭게 지원되는 사항
24.2.1 메뉴 표시줄(Menubar)과 도구 모음(Toolbar)
24.2.2 비주얼(Visual) 스타일의 동적 변경
24.2.3 도킹(Docking) 창(Pane)
24.2.4 Office 2007 리본 메뉴
24.2.5 다양한 확장 컨트롤
24.3 MFC Feature Pack 프레임워크
24.3.1 기본 예제의 생성
24.3.2 CWinAppEx 클래스
24.3.3 CFrameWndEx 클래스
24.3.4 CMainFrame::OnCreate( ) 함수

25장 패인(Pane) 윈도우
25.1 도킹(Docking) 패인(Pane)
25.1.1 CBasePane과 CPane 클래스
25.1.2 CDockablePane과 CTabbedPane 클래스
25.2 도구 모음(Toolbar)
25.2.1 기본적인 처리
25.2.2 버튼의 추가/삭제
25.2.3 전체 스타일
25.3 도구 모음의 버튼 스타일 변경
25.3.1 드롭다운(Drop-down) 메뉴 버튼으로
25.3.2 Date Time Picker 컨트롤로
25.3.3 콤보 상자(Combo Box)로
25.4 상태 표시줄(Status Bar)

26장 비주얼 스타일
26.1 Office 2003 스타일
26.1.1 탐색 창
26.1.2 갭션 표시줄(Caption Bar)
26.2 Visual Studio 2005 스타일
26.2.1 탐색 창과 전용 도구 모음
26.2.2 출력(Output) 창
26.2.3 속성(Property) 창
26.3 Office 2007 스타일
26.3.1 메인 패널의 구성
26.3.2 리본 메뉴

27장 확장 컨트롤
27.1 Property Grid 컨트롤
27.1.1 생성과 초기화
27.1.2 기본 그룹과 속성 항목 추가
27.2 확장 탭 컨트롤
27.3 쉘 트리 컨트롤/쉘 리스트 컨트롤

Part 5 윈도우 시스템 프로그래밍
28장 시스템 프로그래밍 기본
28.1 콜 컨벤션(Call Convention)
28.2 가상 메모리(Virtual Memory)
28.3 유니코드
28.3.1 유니코드와 MBCS 코드 비교
28.3.2 유니코드를 고려한 프로그래밍
28.3.3 코드 세트의 변환

29장 멀티스레드
29.1 스레드(Thread)에 대해서
29.2 작업자 스레드(Worker Thread)
29.1.1 중복 실행 방지
29.1.2 스레드의 종료
29.3 사용자 인터페이스 스레드
29.3.1 스레드의 생성
29.3.2 스레드의 제어

30장 커널 객체(Kernel Object)와 동기화(Synchronization)
30.1 커널 객체(Kernel Object)
30.1.1 크리티컬 섹션(Critical Section)
30.1.2 뮤텍스(Mutex)와 데드락(Dead-lock)
30.1.3 세마포어(Semaphore)
30.2 이벤트의 활용
30.2.1 소프트웨어 업데이트
30.2.2 중복 실행 방지

31장 프로세스 간의 통신(Inter Process Communication)
31.1 공유 메모리를 이용한 IPC
31.2 클립보드를 이용한 IPC

32장 DLL(Dynamic Linking Library)
32.1 DLL과 DllMain( ) 함수
32.2 암시적(Implict) 링크
32.3 명시적(Explicit) 링크
32.4 실무자를 위한 충고

Part 6 기타 주제
33장 레지스트리(Registry)
33.1 레지스트리와 관련 API 함수 ...

한참 열공중인책 친절한 설명등이 마음에 든다....