진정한 프로그램 중심 VC++ 독학으로
도서명:진정한 프로그램 중심 VC++ 독학으로
저자/출판사:홍춘택/좋은땅
쪽수:499쪽
출판일:2009-11-11
ISBN:9788993368727
목차
머리글·17
기본 사항에 대하여·24
Dos용 프로그램과 Windows용 프로그램의 비교·24
01. Test 프로젝트·25
실습 요령·25
Workspace 안에 3가지 탭·28
4대 클래스는 header 부분과 cpp 부분으로 구성되어 있다·30
View에 출력을 해보자·32
출력은 OnDraw() 함수 안에 코딩한다·33
혹시 실습할 때 에러가 나지 않았는지요?·33
어떤 함수를 먼저 실행할까요?·34
DC에 대하여·35
Project 여는 방법·36
멤버 변수 추가 방법·37
헝가리언 표기법·38
멤버 함수 추가 방법·41
WM_ 윈도우 메시지 함수·43
CPoint 클래스(자료형)·44
OnDraw() 함수에서 출력과 메시지 함수에서 출력의 차이점·45
클래스 계층도·46
02. 메뉴 만들기 프로젝트·47
Project ExMenu·48
서브 메뉴(Sub menu) 만들기·49
메뉴 함수 만들기·50
03. 문자 움직이기와 빠르기 조절하기 프로젝트·53
Project Char·54
잘못 만든 멤버 함수, 멤버 변수 삭제하는 요령·55
문자 A가 윈도우의 중앙에 나오게 하기·57
방향키를 눌렀을 때 문자가 움직이게 하기·59
화면의 경계선을 넘어가게 되면 반대편에서 다시 나타나게 하자·60
키보드의 문자 누르면 그 문자로 바뀌게 하고, 숫자를 누르면 이동 폭이 바뀌게 하자·62
WM_KEYDOWN 과 WM_CHAR는 어떤 차이점이 있을까요?·63
상단 중앙에 “속도 = 5” 와 같이 속도가 나오게 하자·63
04. 타이머 함수 이용하는 프로젝트·65
타이머·65
Project Timer·66
타이머 설치·67
타이머 죽이기·67
W/S에서 종종 클래스 없어지는 일 생긴다·68
앞뒤로 문자열이 점멸되며 나오게 하기·70
05. 떨어지는 문자 맞추기 게임 프로젝트·72
Project Htt·73
랜덤 문자 View에 출력하기·74
진정한 랜덤 값이 나오게 하려면 랜덤 값을 초기화해야 한다·75
문자를 아래로 계속 떨어뜨리기·75
떨어지는 문자 맞히기·76
상단에 점수 나오게 하기·77
한 번 더 할까요? 가 나오도록 메시지박스를 바꾸어 보자·78
06. 마우스 클릭 좌표 출력하기 프로젝트·81
Project Position·82
멤버 변수에 새로운 값을 넣어주는 Set함수 만들기·83
멤버 변수의 내용을 외부로 꺼내오는 Get함수 만들기·84
CPositionDoc * pDoc = GetDocument();에 대하여·86
07. 문자 색상, 배경색, 툴바 만들기 프로젝트·90
Project ExTool·91
공통컬러 다이얼로그 나오게 하기·97
기존 툴바에 툴 버튼 추가하는 요령·98
배경색 나오게 하는 요령·101
메뉴에 체크 표시 하는 요령·105
배경색에는 Radio 표시를 해 보세요·108
#include "stdafx.h" 에서 에러났다는 황당한 메시지 본적 있나요?·110
View의 문자열과 색상, 배경색상을 File에 저장 후 다시 가져오기·111
Doc 클래스의 Serialize() 함수를 이용한다.·111
메모리구조 Stack 과 Queue·113
다른 클래스의 멤버 변수를 가져와 저장하는 방법·114
08. 사각박스 색상 채우고 이동하기 프로젝트·117
MSDN 참조하는 요령·119
Project Move·121
도형 안에 원하는 색상 넣기·123
방향키로 사각박스 이동시키기·127
박스가 화면을 벗어나면 반대 방향에서 다시 나타나게 하기·128
09. 원하는 글꼴로 날짜와 시간 나오기 프로젝트·131
Project Time·132
상태바에 출력하는 요령·132
현재 시간을 출력하는 요령·136
원하는 글꼴 크기로 View에 출력하는 요령·139
10. 빨간 당구공 당구대 Bounce 프로젝트·141
Project Bounce·142
화면에 팝업 메뉴 나오게 하는 요령·149
비트맵에 대하여·151
:
11. 자기가 그린 그림 출력하기 프로젝트·153
Project ExBit·154
12. PacMan 애니메이션 출력하기 프로젝트·157
Project PacMan·158
클릭하는 위치로 그림이 옮겨지도록 합시다·161
Invalidate() 함수에 대하여·163
13. 배경 사진 위에 그림 합성하는 프로젝트·164
Project Mask·165
사진 읽어 와서 bmp로 저장하는 요령·165
그림 구조체 BITMAP에 대하여·167
매스크 비트맵 제작·170
그림 합성하는 요령·172
14. 사진첩 넘겨보기 프로젝트·176
Project MultiBmp·177
한 화면에 사진 6장 전체를 보여주는 방법·181
SelectStockObject(~) 함수에 대하여·184
SetRect(~) 함수에 대하여·185
PtInRect(좌표지점) 함수에 대하여·186
15. 커서 모양 변경 프로젝트·189
Project ExCursor·190
커서 직접 만드는 요령·191
16. 마우스 이동시 커서가 변경되는 프로젝트·196
Project ExCur·197
커서 import 하기·197
Screen 좌표와 Client 좌표에 대하여·200
클래스 간에 포인터 얻어 오기·201
17. 그림판 만들기 프로젝트·202
Project Paint·203
UP 할 때 도형이 그려지도록 합시다·209
새로운 툴바 만들기·212
ToolBar 옵션에 대하여·215
마우스 Move 할 때 그림 그려지게 만들자·220
그리기 모드(Draw Mode)에 대하여·221
SetROP2(R2_NOTXORPEN) 설정·222
채우기 기능 만들기·227
도구에 따라 커서가 다르게 나오게 하기·229
직선에서 화면을 벗어났을 때 세부처리·230
18. 자기가 만든 다이얼로그 출력 프로젝트·232
Project ExDlg·233
다이얼로그 만들기·233
19. 보이기와 감추기 기능 프로젝트·237
Project ExDlg1·238
컨트롤에 멤버 변수 부여하는 요령·240
Value형 변수와 Control형 변수·241
메시지 종류에 대하여·243
20. 표준 컨트롤 다루기 프로젝트·244
Project Company·245
컨트롤에 변수명 부여 작업·248
UpdateData( ) 함수에 대하여·252
프로젝트에서 잘못된 클래스명을 삭제하는 방법·256
21. 수강생 명단 관리 프로젝트·258
Project ExList·259
리스트박스의 Control형 변수가 호출하는 함수에 대하여·261
엔터키를 눌러도 추가 버튼을 누른 것처럼 기능을 만들자·264
MSG 구조체에 대하여·265
들락날락한 명령어 시작 지점 제대로 정렬시키기·268
변경파일 저장할까요? 라는 메시지 나오게 만들기·282
결과 타이틀 이름 바꾸기·283
22. 간단한 메모장 만들기 프로젝트·285
Project Memo·286
소문자를 대문자로 바꾸기 버튼 처리·288
대문자를 소문자로 바꾸기 버튼 처리·290
문자열을 거꾸로 출력하기·290
엔터키는 메모리에 �r �n 으로 기억된다·291
버튼에 원하는 그림을 입히는 요령·292
웹하드 다운로드 하는법·294
23. 프로퍼티 페이지 나오기 프로젝트·295
Project Property·296
24. 다각형 윈도우 만들기 프로젝트·301
Project DagakWin·302
25. View를 두개로 쪼개는 프로젝트·305
분할 윈도우 (Splitter Window)에 대하여·306
분할 윈도우의 종류·307
Project ExSp·308
26. 정적 분할 윈도우 프로젝트·311
Project Splitter·312
한 개의 Doc에 여러 개의 View가 연결된 경우·315
27. 도형 나오는 멀티 View 프로젝트·319
Project Multi·320
결과 윈도우 원하는 크기로 나오게 하기·321
Spy 툴 이용하기·321
28. 모달리스 다이얼로그·329
Project DialogTest·330
29. 스크롤바로 마음대로 색상 조절하기·333
30. 트리 컨트롤, 리스트 컨트롤 다루기·341
트리 컨트롤에 출력하기·345
리스트 컨트롤에 출력하기·347
31. 4대 클래스 간에 데이터 주고받기·352
Project ClassRef·353
각 클래스 포인터 얻는 방법·354
32. 선택한 동영상 영화 보기·360
Project ConTest·361
그리드 추가 요령·361
동영상 Player 추가 요령·362
그리드 함수에 대하여·364
33. IP 주소이용 네이버 야후 다음 열기·367
포털 사이트 IP 알아내는 방법·369
내장된 애니메이션 나오게 하기·373
34. 나의 다이어리 만들기·377
Project Diary·378
달력 만드는 방법·378
오늘 날짜 다른 색으로 나오게 하자·385
년, 월이 바뀌면 달력도 바뀌게 하자·386
시간 일정표 만들기·388
시간 일정표 저장시키기·397
CObList 클래스에 대하여·401
CObList 클래스·401
POSITION 클래스·402
CObList 멤버 함수·403
프로그램에서 원하는 문장 찾는 법·410
한꺼번에 고치는 방법·411
파일이 2개 일 때 문제점 해결 방법·412
원하는 날짜 마우스로 클릭할 수 있게 만들자·414
트레이 아이콘 만들기·415
35. 다이얼로그바와 툴바에 컨트롤 넣기, Registry 다루기·421
Project BarTest·422
위저드 이용하지 않고 메뉴 함수 만들기·423
메뉴글자 상황에 맞게 바꾸기·425
새로운 툴바 만들기·429
메인 툴바 안에 콤보 박스와 스테틱 문자 넣기·431
콤보 항목 선택시 사이트 브라우저 나오게 하자·433
자기가 만든 툴바가 메인 툴바 옆에 나오게 하자·434
다이얼로그바 추가하기·435
다이얼로그바1 코딩하기·437
콤보에서도 이름 선택 시 메시지박스가 나오도록 하자·439
상태바에 시간과 마우스 커서 좌표가 나오게 하자·440
상태바에 시간 출력하기·442
상태바에 클라이언트 좌표와 스크린 좌표를 출력하자·443
Control Bar 제어하기·444
Registry에 저장하고 꺼내오기·447
레지스트리 편집기·447
레지스트리에 저장하기·448
레지스트리에서 받아오기·450
36. FTP Client 프로그램·452
Project FtpCl·453
새로운 클래스를 위저드에 인식시키기·454
리스트 항목 더블클릭 되었을 때 처리·461
원격 컴퓨터 내부 훤히 들여다보기·465
원격 컴퓨터 리스트에서 더블클릭시 처리하기·468
하위 폴더를 누른 경우·469
빨간 화살표(상위레벨) 표시를 누른 경우·470
버튼 활성화 처리·472
다운로드와 업로드가 수행되도록 하자·473
원격 컴퓨터에 업로드 실제로 되는지 확인해 보기·476
원격 컴퓨터에서 해 놓아야 할 일·476
로컬 컴퓨터에서 할 일·477
37. 프로퍼티 전체 예쁘게 컬러 입히기·480
Project TabColor·481
프로퍼티 버튼에 비트맵 입히기·481
Sheet와 Page에 색상 입히기·485
탭과 탭 배경에 색상 입히기·489
VC++ 독학으로 2의 결과물·495