열혈강의 VISUAL C++ 2008 MFC 윈도우 프로그래밍
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
삼성 SDS 멀티캠퍼스(현 크레듀 멀티캠퍼스)의 보안 분야 전임 교수이자 (주)프로토콜마스터 기술 이사로 재직 중이다. ‘개발자에게 은퇴란 없다’라는 신념으로 실무 개발과 집필, 강의에 모두 열정을 쏟고 있다. 비트 교육센터에서 C/C++ 강의를 했으며, 1992년 처음 C를 접한 후로 지금까지 C/C++를 이용한 응용 프로그램을 개발해왔다.한국전자통신연구원과 옛 정보통신부가 주도한 온라인 게임 서버 성능 평가 시스템 등 다수의 기술 연구 용역과 국책 과제를 수행했고 SafeNET, TimeKeeper, CyberWALL 등 다수의 상용 소프트웨어를 개발했다. 윈도우 기반 보안 소프트웨어 분야에서도 다양한 개발 경험을 갖고 있다.저서로는 『MFC 정복』 (가남사), 『윈도우 프로그래밍 기초/고급편』 (프리렉), 『Visual C++ 2008 MFC 윈도우 프로그래밍』 (프리렉), 『독하게 시작하는 C 프로그래밍』 (루비페이퍼)이 있다.
목차
- [들어가기에 앞서]
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 함수
33.2 설치한 프로그램 목록
33.3 MFC와 레지스트리
34장 쉘(Shell) 인터페이스 다루기
34.1 트레이(Tray) 아이콘
34.1.1 트레이에 등록하고 해제하기
34.1.2 콜백(Callback) 메시지 처리
34.2 응용 프로그램의 정보 변경
34.2.1 아이콘 변경하기
34.2.2 애니메이션 효과
34.3 쉘(Shell)의 재시작 감지
35장 디버깅(Debugging)
35.1 빌드 모드
35.2 위치 중단점(Breakpoint)
35.3 PDB 파일과 호출 스택
35.4 데이터 중단점(Breakpoint)
35.5 조건 데이터 중단점(Breakpoint)
35.6 디버그 매크로와 함수
35.7 실행 중인 프로세스에 연결
35.8 원격(Remote) 디버깅
36장 데이터베이스(Database)
36.1 DBMS(Database Management System)
36.2 ODBC(Open Database Connectivity)
36.2.1 데이터 원본 등록
36.2.2 ODBC 예제의 생성
36.2.3 전체 레코드(Record) 출력
36.2.4 레코드의 추가(Insert)
36.2.5 레코드의 갱신(Update)과 삭제(Delete)
36.2.6 레코드 조회
36.3 OLE-DB(Object Linking and Embedding-DB)
36.3.1 OLE-DB 예제의 생성
36.3.2 전체 레코드 출력
36.3.3 레코드의 추가(Insert)
36.3.4 레코드의 갱신(Update)과 삭제(Delete)
36.3.5 레코드의 동적 갱신
37장 MFC를 이용한 TCP/IP 소켓 프로그래밍
37.1 TCP/IP에 대해서
37.1.1 IP 주소
37.1.2 소켓(Socket)
37.2 TCP/IP 소켓 프로그래밍
37.2.1 채팅 서버 제작
37.2.2 채팅 클라이언트 제작
37.2.3 실행 결과 확인
출판사 서평
대부분의 개발자가 MFC를 이용하여 윈도우 프로그래밍을 하고 있음에도 불구하고 마치 Win32 API를 모두 이해한 후에 MFC를 배워야 한다고 생각하는 편이다. 게다가 윈도우를 개발하는 방법으로 Win32와 MFC를 이해하는 것이 아니라 그 자체를 학습 대상으로 여기는 경우가 많다. 이에 부응하듯 대부분의 국내 도서는 이론에 극단적으로 치우치거나 불필요하게 방대한 내용으로 입문자를 불편하게 하고 있으며, 이로 인해 많은 사람들이 윈도우 프로그래밍은 어렵다는 잘못된 선입견을 갖게 되었다. 또한 실무에 종사하는 많은 사람들이 아직도 Visual C++ 6.0 컴파일러를 사용하고 있지만 Visual C++ 2008 버전이 새로 출시되면서 새 컴파일러로의 이동을 시작하고 있다. 이는 Visual C++ 6.0이 최신 CPU 및 운영체제에 대한 개발 요구를 만족시킬 수 없기 때문이다.
이와 같은 두 가지 요구에 맞추어 비교적 간결한 내용의 윈도우 프로그래밍 입문서를 집필하되 최신 컴파일러 사용 환경과 프로그래밍 기법을 담으려 하였다. 가장 중요한 기획 의도는 입문자를 위한 쉽고 간결한 설명이 될 것이며, 많은 내용을 담아 시작도 하기 전에 포기하는 것이 아니라 누구나 쉽게 접근할 수 있는 느낌을 전달하도록 하고 있다. 이외에 중/고급 사용자들도 알아야 할 일부 고급 프로그래밍 기법을 함께 다룸으로써 기술적 내용의 충실도를 높이고 불필요하게 내용이 커지는 것을 막기 위해 선택의 여지가 있는 모든 내용은 온라인 강의와 문서로 대체하고 있다. 결과적으로 책 자체의 부피는 줄이되 핵심 내용은 요약하여 전달하고 있으며, 고급 기술이나 길어지는 설명들은 모두 강의와 온라인 문서로 대체하여 초급 입문자에서 중급 이상 사용자에 이르는 활용서가 되도록 하였다.
본 도서는 단순히 윈도우 프로그래밍 기법을 다루는 것 이외에 '고급 사용자 인터페이스의 개발'이라는 보다 실질적인 목표를 염두에 두고 내용을 구성하였습니다. 물론 눈에 보이는 사용자 인터페이스 외에 윈도우 시스템 프로그래밍의 핵심 원리에 대해서도 다루었습니다. 그리고 대부분의 예제가 실무에서 사용하여 검증을 거친 것들입니다.
1. 전문 윈도우 개발자를 양성한다는 목표로 내용 구성
2. 실무 활용도가 높은 검증된 예제를 수록
3. MFC v9.0 기반의 최신 프로그래밍 기법 수록
4. 윈도우 시스템 프로그래밍까지 한 번에 학습
#. 이 책이 필요하신 분
1. 윈도우 프로그래밍을 배우려는 개발 입문자
2. 실전 감각을 익히고자 하는 초급 개발자
3. MFC Feature Pack과 같은 최신 기법을 배우려는 중급 개발자
4. 윈도우 시스템 프로그래밍을 빠르게 정리하고자 하는 독자
기본정보
ISBN | 9788989345961 |
---|---|
발행(출시)일자 | 2009년 02월 05일 |
쪽수 | 1248쪽 |
크기 |
257 * 188
mm
|
총권수 | 1권 |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립