목차
제1부 단계별로 Windows API를 정복한다
제1장 프로그래밍 기본 지식 = 19
1. 운영체제의 변화 = 19
2. 고수준 언어와 저수준 언어 = 20
3. 프로그래밍 원리 = 25
이벤트 구동형(Event Driven) 프로그래밍 = 25
리소스의 사용 = 26
Windows의 API 함수들은 동적으로 링크된다 = 28
함수 이름이나 변수 이름을 명명하는 방법 = 29
Windows 98에서 새로 추가된 API = 31
4. 프로그램의 구조 = 33
WinMain() = 33
윈도우 함수(윈도우 프로시저) = 33
Windows 98에서의 프로그램 기본 골격 = 36
제2장 단계별 프로그램 작성 = 38
1. 단계1 : Windows 98에서 동작하는 기본 골격 프로그램을 만든다 = 40
2. 단계2 : Windows 98 시스템에서 제공하는 기본 리소스를 바꾼다 = 48
사용자 영역의 배경을 바꾼다 = 51
마우스 포인터(커서)를 바꾼다 = 54
아이콘을 바꾼다 = 60
3. 단계3 : WM_PAINT 메시지를 처리한다 = 62
사용자 영역에 문자열을 표시한다 = 62
무효화와 칠하기 = 64
메뉴에서 문자열의 텍스트 색상을 바꾼다 = 72
4. 단계4 : 메뉴의 상태를 표시하고 단축키와 = 82
메뉴에 상태 표시를 한다 = 82
단축(Shortcut)키를 사용하게 한다 = 84
오른쪽 마우스를 누를 때 메뉴를 표시한다 = 87
5. 단계5 : UI를 개선시킨다 = 93
툴바(Toolbar)를 붙인다 = 94
툴바에 툴팁을 붙인다 = 99
상태 표시바를 붙인다 = 102
상태 표시바에 작업 상태를 표시한다 = 105
6. 단계6 : 마우스 이벤트와 타이머를 처리한다 = 107
상태 표시바에 마우스의 위치를 표시한다 = 107
상태 표시바에 현재 시간을 표시한다 = 109
7. 단계7 : 대화상자로 사용자와 인터페이스한다 = 112
대화상자를 만든다 = 112
사용자를 위한 정보를 제공한다 = 117
8. 단계8 : 프린터에 내용을 출력한다 = 120
문자열 메시지를 프린터로 출력한다 = 120
9. 단계9 : 문자열의 속성을 바꾼다 = 126
10. 단계10 : 프로퍼티 시트를 만든다 = 137
탭 컨트롤 = 137
프로퍼티 시트 = 140
마법사(Wizard) = 142
작성화면 = 144
프로퍼티 페이지 디자인 = 146
프로그램 작성 = 147
11. 단계11 : Windows 98의 공통 컨트롤 = 164
헤더 컨트롤 = 164
달력 컨트롤 = 172
IP 주소 컨트롤 = 177
제2부 Windows 프로그래밍 SkillUp
제3장 GUI의 이점과 블랙박스(Black Box) = 185
1. 애니악과 프로그래밍 = 185
2. 현재의 프로그래밍 추세 = 187
제4장 개체의 개념과 고수준 언어의 구조 = 190
1. 개체는 수순와 데이터의 경계를 없앤다 = 190
2. 고수준 언어의 내부를 살펴본다 = 192
3. 윈도우 시스템이 메시지를 분배해 준다 = 196
제5장 Windows 어플리케이션 개발에 있어서의 C 언어 = 198
1. C 언어와 윈도우 애플리케이션 = 198
2. 윈도우 애플리케이션을 만드는 방법 = 199
독자적인 데이터의 표기 = 199
클래스와 인스턴스 = 199
핸들(Handle) = 200
여러 개를 기동하기 위한 구조 = 201
윈도우 애플리케이션의 소스 = 203
작성 순서 = 203
3. C 언어에 의한 윈도우 애플리케이션 = 205
제6장 Windows 어플리케이션의 구조 = 210
1. 1번째 시작 포인트, WinMain 함수의 동작 = 210
2. 2번째 시작 포인트, WndProc 함수 = 214
3. 공존 환경과 API 함수 = 216
4. 메시지 처리의 예 = 217
제7장 Windows 개발 표준 언어로의 C++ = 227
1. 개체 지향과 C++ = 227
너무 많이 알아야 하는 C 언어 = 227
C++와 클래스 = 228
파생과 계승 = 228
2. C++의 기본은 파생과 계승이다 = 229
C++의 기본 골격 모델 = 229
3. 클래스 라이브러리를 사용하면 모두 은폐된다 = 235
준비되어 있는 클래스 라이브러리의 이점 = 235
약간만 수정해도 다른 애플리케이션 = 235
제8장 Windows와 어플리케이션의 관계 = 240
1. 운영체제는 내부를 숨긴다 = 240
DOS의 시대는 좋았지만? = 241
공존을 위한 제약은 필요하다 = 241
개발 도구를 마음껏 구사하기 위해 = 242
2. Windows 98의 특징과 프로그래밍 = 243
GUI(Graphic User Interface) = 244
일관된 사용자 인터페이스 = 245
다중 작업(Multitasking)의 이점 = 245
메모리 관리(Memory Management) = 246
디바이스에 의존하지 않는 그래픽 인터페이스 = 247
함수 호출(Function Call) = 247
3. 윈도우 프로그래밍의 원리 = 249
개체 지향의 프로그래밍 = 249
메시지 구동형(Message-Driven) 아키텍처 = 250
윈도우 프로시저 = 250
제3부 비주얼 C++ 6.0을 시작한다
제9장 개체 지향 언어 C++ = 255
1.C++의 기본 기능 = 255
C는 C++의 서브셋(subset)이다 = 255
스트림에 출력 = 256
함수 프로토타입 = 259
연산자의 다중정의(오버로드) = 261
변수의 선언 위치 = 262
2. C++의 클래스 = 264
구조체와 클래스 = 264
클래스의 선언 = 267
공개와 비공개부 = 267
액세스 지정자 = 268
인스턴스의 생성과 개체 = 269
멤버 함수의 사용 = 270
데이터 멤버의 보호 = 271
데이터 멤버 공개 = 272
멤버 변수의 외부 정의와 클래스 복사 = 272
멤버 변수의 외부 정의와 내부 정의 = 273
데이터 멤버의 값을 얻는다 = 274
생성자와 소멸자 = 276
생성자의 다중정의 = 279
생성자에 의한 초기화 방법 = 283
정적 데이터 멤버와 정적 멤버 함수 = 284
클래스의 파일 분할 = 286
기본 클래스와 파생 클래스 = 290
정적 결합과 동적 결합 = 294
가상 함수 = 296
순수 가상 함수 = 298
참조(Reference) = 301
제10장 비주얼 C++ 6.0의 새로운 기능 = 303
1. 새로운 기능들 = 305
Edit and debugging 기능 = 305
Dynamic ClassView = 308
Composite 컨트롤 지원 = 308
OLE DB 지원 = 309
IntelliSense = 310
사용자 인터페이스의 변화 = 311
제11장 개발자 스튜디오(Developer Studio) = 315
1. AppWizard(애플리케이션 마법사) = 316
2. 리소스 디자이너 = 320
3. 클래스 마법사(ClassWizard) = 324
제12장 컴포넌트 갤러리(Component Gallery) = 335
1. TextColor 프로젝트를 연다 = 336
2. 자신의 애플리케이션에 컴포넌트를 붙인다 = 337
3. 컴포넌트 갤러리에서 팝업 메뉴를 붙인다 = 338
4. 재사용할 수 있는 컴포넌트를 갤러리에 추가한다 = 342
제13장 MFC(Microsoft Foundation Class) 라이브러리 = 344
1. 도큐먼트, 뷰와 도큐먼트 템플릿 = 347
도큐먼트(Document) = 348
뷰(View) = 353
도큐먼트 템플릿(Document Template) = 360
2. DDX/DDV 지원 = 364
필드(Field) 수준으로 확인하는 DDX/DDV = 371
3. 뷰 스크롤 = 373
4. 뷰에 폼을 붙인다 = 376
5. 컨트롤바 클래스 = 377
CToolBar 클래스 = 380
CStatusBar 클래스 = 381
CDialogBar 클래스 = 383
제14장 새로운 툴바 기능 = 386
1. 평면 단추와 그리퍼 = 390
2. 텍스트 라벨 = 393
3. 드롭다운 목록 = 395
4. 튀어 오르는 이미지(Hot images) = 400
제4부 MFC에 도전한다
제15장 직접 만들어보는 Hello MFC 어플리케이션 = 411
1. 애플리케이션 오브젝트 = 423
2. CWinApp 멤버 = 425
3. CWinApp 중복(Override) = 428
4. 윈도우 오브젝트 = 431
5. 윈도우를 생성한다 = 432
6. 사용자 영역을 칠한다 = 436
7. 메시지맵(Massage Map) = 439
8. AfxRegisterWndClass 함수 = 442
9. Hello 1 프로그램을 만든다 = 445
10. Hello 프로그램의 정리 = 448
11. AppWizard로 Hello 프로그램을 만든다 = 449
프로젝트 생성기-AppWizard = 449
AppWizard로 프로젝트의 골격을 결정한다 = 449
Hello 프로그램의 컴파일과 실행 = 451
윈도우의 한가운데에 메시지를 표시한다 = 453
제16장 MFC 프레임워크를 분석한다 = 466
1. 프로그램의 실행은 WinMain으로부터? = 466
2. 메시지 처리 = 471
3. 프로그램의 흐름 = 475
제17장 MFC 프로그램을 분석한다 = 476
1. 클래스와 메시지와 MFC = 476
클래스와 오브젝트 = 477
윈도우 애플리케이션은 어떻게 동작하는가? = 479
비주얼 C++와 윈도우 애플리케이션 = 481
MFC가 제공하는 부품 = 483
제18장 GDI는 그래픽을 표시하는 언어 = 491
1. 디바이스 컨텍스트와 CDC 클래스 = 491
디바이스 컨텍스트의 취득과 해제 = 492
OnDraw 함수의 인수로 건네지는 디바이스 컨텍스트 = 494
문자열 표시의 기본 조작 = 495
그래픽 표시의 기본 조작 = 498
2. GDI 오브젝트 - 펜과 브러시와 비트맵 = 500
펜의 이용 방법 - 선을 그리는 스타일을 지정한다 = 501
브러시 이용법 = 521
비트맵의 이용 방법 - 임의의 그림을 표시한다 = 533
제5부 MFC 프로그램을 만든다
제19장 시리얼라이즈하는 사각형 그리기 = 547
1. 단계1 : 도큐먼트 클래스에 데이터 구조체를 추가한다 = 556
2. 단계2 : 도큐먼트 데이터 구조를 로드하고 저장하게 한다 = 559
3. 딘계3 : 뷰 클래스의 코드를 수정한다 = 561
4. 단계4 : 뷰 클래스에 다시 그리는 이벤트를 처리한다 = 563
5. 단계5 : 사각형의 크기 조정 메뉴와 대화상자를 디자인한다 = 564
6. 단계6 : 디자인한 메뉴와 대화상자를 연결한다 = 566
제20장 폼뷰로 계산기를 만든다 = 573
폼뷰 대화상자에 컨트롤을 배치한다 = 577
계산기의 아이콘 그림을 디자인한다 = 578
폼뷰 클래스를 만든다 = 578
프로젝트로부터 필요하지 않은 뷰 클래스를 삭제한다 = 581
뷰의 크기를 조정한다 = 582
프레임 윈도우와 폼뷰 윈도우의 크기를 맞춘다 = 583
경계선과 최대화 단추를 없앤다 = 585
계산기의 처리 기능을 추가한다 = 587
'+' 단추를 누를 때의 처리를 준비한다 = 588
필요한 코드를 추가한다 = 589
제21장 오너드로(Owner Draw) = 592
1. 셀프드로 메커니즘 = 594
2. MFC의 영구/임시 핸들 맵 = 600
3. CTRLTEST 예제 = 601
4. 오너드로의 구현 개념 = 606
제22장 화면 캡처 유틸리티 = 625
1. 켑처 유틸리티 = 625
2. SetClipboardData() 함수를 사용한다 = 646
제23장 ActiveX 컨트롤을 만든다 = 648
1. ActiveX 컨트롤이란 = 648
ActiveX 컨트롤을 개발하는 이유 = 649
ActiveX 컨트롤과 커스텀 컨트롤 = 649
ActiveX 컨트롤의 이점 = 650
ActiveX 컨트롤의 속성 메소드 이벤트 = 650
ActiveX 컨테이너 = 655
ActiveX 컨트롤과 컨테이너 사이의 커뮤니케이션 = 655
2. ActiveX 컨트롤 작성 방법 = 658
ActiveX 컨트롤을 등록한다 = 658
ActiveX 컨트롤을 그린다 = 659
디자인 시와 런타임 시의 OnDraw 사용 = 660
3. ActiveX 컨트롤을 만든다 = 661
컨트롤의 수, 라이센스와 도움말을 지정한다 = 662
ActiveX 컨트롤에 Ambient 속성을 사용한다 = 666
ActiveX 컨트롤에 표준 이벤트를 처리한다 = 670
ActiveX 컨트롤에 커스텀 속성을 만든다 = 673
속성 인터페이스를 만든다 = 679
제24장 ATL(Active Template Library) = 681
1. COM이란 = 681
COM 스펙 = 681
COM 서비스 = 682
COM에서 사용하는 용어 = 683
2. COM은 어떻게 동작하는가? = 687
Client/Server 상호 작용 = 687
네트워킹 서비스 = 688
COM 연결 = 688
3. ATL에 의한 COM 프로그래밍 = 689
Duallnterface 추가 = 690
간단한 메소드 = 694
작성한 메소드의 테스트 = 700
제6부 개인 정보관리 프로젝트
제25장 비주얼 C++의 통합 개발환경 = 703
1. 비주얼 C++ 개발 환경 개발자 스튜디오 = 703
프로젝트 워크스페이스 = 704
메이크파일 = 707
프로젝트 워크스페이스 윈도우 = 708
클래스뷰 = 713
함수를 추가한다 = 714
변수 추가 = 715
2. 프로젝트 환경 = 716
3. 리소스 스크립트 = 719
대화상자 = 727
제26장 개인 정보관리 프로젝트 = 736
1. 개인정보 관리프로젝트의 기본 뼈대 만들기 = 736
비주얼 C++에 의해 만들어지는 파일들 = 740
2. 단계1 - UI 디자인 = 743
메인 프레임의 제목을 변경한다 = 743
프로그램을 종료한다 = 748
스크린의 한 가운데에 표시한다 = 750
메인 윈도우의 크기를 조정한다 = 752
메뉴를 디자인한다 = 753
바로가기 키(ShortCut 키)를 만든다 = 754
툴바(Toolbar)를 구현한다 = 755
상태바를 구현한다 = 765
아이콘을 변경한다 = 774
한글 IME(Input Method Editing)를 구현한다 = 775
3. 단계2-1 : 프로퍼티 시트 = 781
프로퍼티 페이지를 디자인한다 = 781
폼뷰에 프로퍼티 시트를 넣는다 = 786
4. 단계2-2 : 데이터베이스를 만든다 = 791
액세스로 테이블을 만든다 = 791
데이터 소스 이름을 만든다 = 792
Pim 프로젝트에 추가한다(기업가용 버전에서만 사용 가능) = 795
5. 단계2-3 : 데이터베이스 프로그래밍 = 798
레코드셋 클래스를 만든다 = 798
'보기' 프로퍼티 페이지 = 803
'등록' 프로퍼티 페이지 = 817
'찾기' 프로퍼티 페이지 = 843
'모두보기' 프로퍼티 페이지 = 849
6. 단계3 : 보조 기능 = 863
제어판의 날짜/시간 애플릿으로 날짜와 시간을 변경한다 = 863
커스텀 대화상자 = 866
7. 단계4 : 설치 프로그램 = 874
인스톨실드 프로그램 설치 = 874
인스톨실드의 특징 = 876
개인 정보관리 설치 프로그램 제작 = 910
제27장 Help Workshop 도움말 제작 = 916
1. 도움말 제작의 기초 = 916
도움말 용어 = 916
도움말 작성에 필요한 도구 = 919
2. 도움말 파일을 작성하는 순서 = 920
기초 준비 = 920
점프(Jump)를 설정한다 = 921
팝업을 설정한다 = 927
토픽에 제목을 붙인다 = 928
토픽을 검색할 수 있게 한다 = 929
토픽에 단추를 표시한다-{button} 문 = 931
여러 개의 토픽으로 점프-KLink/ALink 매크로 = 932
열람 순서를 설정한다 = 933
2차 윈도우를 사용한다 = 936
도움말에 그래픽 파일을 붙여 넣는다 = 940
그래픽에 여러 개의 핫스포트를 설정한다 = 941
목차 탭을 사용 가능하게 만든다-목차 파일을 작성한다 = 947
워드로 도움말 파일을 작성한다 = 950
Help Workshop에서 도움말 프로젝트 파일을 만든다 = 951
제7부 OLE DB로 만드는 노란종이 프로젝트
제28장 노란종이 프로젝트 = 961
1. UI 디자인 = 967
다이아로그바를 만든다 = 967
맵시 있는 툴팁을 만든다 = 975
메뉴를 디자인한다 = 978
상태 표시바를 디자인한다 = 979
상태 표시바의 색상을 바꾼다 = 985
상태 표시바에 아이콘을 표시한다 = 986
사이즈 그림을 제거한다 = 987
제29장 OLE DB 프로그래밍 = 989
폼뷰를 디자인한다 = 989
보기 폼을 구현한다 = 992
다중 뷰를 표시한다 = 997
등록 폼을 구현한다 = 1002
모두보기 폼을 구현한다 = 1002
등록 폼뷰와 컨트롤의 배경 색을 바꾼다 = 1004
폼뷰의 배경에 이미지를 표시한다 = 1008
제30장 HTML 도움말 제작 = 1011
1. HTML Help Workshop 1.1 설치 = 1012
HTML Help 프로젝트 준비 = 1014
목차 탭을 만든다 = 1020
색인 탭을 만든다 = 1031
검색 탭을 만든다 = 1034
스플래시 화면 = 1035
바로가기 키 = 1038
2. HTML Help Workshop 1.2 설치 = 1041
HTML Help 프로젝트 준비 = 1043
목차 탭을 만든다 = 1048
색인 탭을 만든다 = 1059
검색 탭을 만든다 = 1061
즐겨찾기 탭을 만든다 = 1063
스플래시 화면 = 1064
바로가기 키 = 1066
노란종이 프로젝트와 연결 = 1069
목차 탭을 표시한다 = 1070
색인 탭을 표시한다 = 1071
검색 탭을 표시한다 = 1072
팝업 메시지를 표시한다 = 1073
표시한 모든 Html 도움말을 닫는다 = 1074
제8부 MFC 활용기술
제31장 MDI 사용자 영역의 배경을 바꾼다 = 1077
제32장 윈도우를 항상 최상위에 표시한다 = 1087
AppWizard를 이용하여 SDI 타입의 기본 뼈대를 만든다 = 1092
제33장 컨텍스트 메뉴 = 1096
임의의 위치에 팝업 메뉴를 표시하는 TrackPopupMenu API = 1096
제34장 바탕화면의 배경 그림을 바꾼다 = 1101
제35장 공통 대화상자 = 1106
제9부 비주얼 C++ 6.0의 고급 기술
제36장 동적 HTML을 지원하는 웹 브라우저 = 1131
제37장 ReBar을 커스터마이즈 한다 = 1137
제38장 도큐먼트-뷰 구조가 없는 프로그램 = 1147
제39장 ATL 색상 단추 컨트롤 제작 = 1153
1. ATL로 색상이 있는 단추를 제작한다 = 1153
2. ATL COM 마법사 = 1155
부록 사운드가 있는 테트리스 게임 = 1172
찾아보기 = 1172