독학으로 VC++ 2008
도서명:독학으로 VC++ 2008
저자/출판사:홍춘택/좋은땅
쪽수:967쪽
출판일:2010-05-24
ISBN:9788964490471
목차
웹하드 다운로드 방법
Visual C++ 2008 다운로드
Visual C++ 2008 실습 요령
Visual C++ 2008과 Visual C++ 6.0 차이점
1. Workspace에서
2. 멤버 함수 추가
3. 윈도우 메시지 함수 추가
4. 가상 함수 추가
5. OnDraw 함수에서 pDC
6. 문자열 상수 _T(" “)
7. 메뉴 만들기
8. 메뉴 함수 추가
9. 비트맵 추가하기
10. 커서 만들기
11. 다이얼로그 추가와 클래스명, 컨트롤 변수명 부여
12. 통지 함수 추가
13. 클래스 추가
14. 기존 클래스를 프로젝트에 첨가하기
15. 다이얼로그바 추가하기
16. ID Symbol 추가하기
17. 그리드(Grid) 추가하기
18. 라이브러리 Link 추가하기
TCHAR에 대하여
기본 사항에 대하여
Dos용 프로그램과 Windows용 프로그램의 비교
01. Test 프로젝트
실습 Window Layout
Workspace 안에 3가지 탭
4대 클래스는 header 부분과 cpp 부분으로 구성
View에 출력을 해 보자
출력은 OnDraw() 함수 안에 코딩한다
혹시 실습할 때 에러가 나지 않았는지요?
어떤 함수를 먼저 실행할까요?
DC에 대하여
Project 여는 방법
멤버 변수 추가 방법
헝가리언 표기법
멤버 함수 추가 방법
WM_ 윈도우 메시지 함수
CPoint 클래스(자료형)
OnDraw() 함수와 메시지 함수에서 출력의 차이점
클래스 계층도
02. 메뉴 만들기 프로젝트
·Project ExMenu
메뉴 함수 만들기
03. 문자 움직이기와 빠르기 조절하기
·Project Char
문자 A가 윈도우의 중앙에 나오게 하기
방향키를 눌렀을 때 문자가 움직이게 하기
문자가 윈도우를 벗어나면 반대편에서 다시 나타나게 하자
키보드의 문자 누르면 그 문자로 바뀌게 하고, 숫자를 누르면 이동 폭이 바뀌게 하자
WM_KEYDOWN과 WM_CHAR는 어떤 차이점이 있을까요?
상단 중앙에 “속도 = 5”와 같이 속도가 나오게 하자
04. 타이머 함수 이용하는 프로젝트
타이머
·Project Timer
타이머 설치
타이머 죽이기
앞뒤로 문자열이 점멸되며 나오게 하기
05. 떨어지는 문자 맞추기 게임 프로젝트
·Project Htt
랜덤 문자 View에 출력하기
진정한 랜덤 값이 나오려면 랜덤 값을 초기화해야 한다
문자를 아래로 계속 떨어뜨리기
떨어지는 문자 맞추기
상단에 점수 나오게 하기
“한 번 더할까요?”메시지 박스 출력하기
06. 마우스 클릭 좌표 출력하기 프로젝트
·Project Position
멤버 변수에 새로운 값을 넣어 주는 Set 함수 만들기
멤버 변수 값을 외부로 꺼내 오는 Get 함수 만들기
CPositionDoc * pDoc = GetDocument();에 대하여
07. 문자 색상, 배경색, 툴바 만들기 프로젝트
·Project ExTool
공통 컬러 다이얼로그 나오게 하기
기존 툴바에 툴 버튼 추가하는 요령
배경색 나오게 하기
메뉴에 체크 표시하는 요령
배경색에는 Radio 표시를 해 보세요
문자열과 색상을 File에 저장한 후 가져오기
Doc 클래스의 Serialize() 함수를 이용한다
메모리 구조 Stack과 Queue
다른 클래스의 멤버 변수를 가져와 저장하는 방법
08. 사각 박스 색상 채우고 이동하기
·Project Move
도형 안에 원하는 색상 넣기
방향키로 사각 박스 이동시키기
박스가 화면을 벗어나면 반대 방향에서 다시 나타나게 하기
09. 원하는 글꼴로 날짜와 시간 출력하기
·Project Time
상태바에 출력하는 요령
현재 시간을 출력하는 요령
원하는 글꼴 크기로 View에 출력하는 요령
10. 빨간 당구공 Bounce 프로젝트
·Project Bounce
화면에 팝업 메뉴 나오게 하는 요령
비트맵에 대하여
11. 자기가 그린 그림 출력하기 프로젝트
·Project ExBit
12. PacMan 애니메이션 출력하기 프로젝트
·Project PacMan
클릭하는 위치로 그림이 옮겨지도록 합시다
Invalidate() 함수에 대하여
13. 배경 사진 위에 그림 합성하기 프로젝트
·Project Mask
사진 읽어 와서 bmp로 저장하는 요령
그림 구조체 BITMAP
매스크 비트맵 제작
그림 합성하는 요령
14. 사진첩 넘겨보기 프로젝트
·Project MultiBmp
트루컬러 툴 버튼 삭제, 추가 방법
한 화면에 사진 6장 전체를 보여 주는 방법
SelectStockObject(~) 함수에 대하여
SetRect(~) 함수에 대하여
PtInRect(좌표 지점) 함수에 대하여
15. 커서 모양 변경 프로젝트
·Project ExCursor
커서 직접 만드는 요령
16. 마우스 이동 시 커서 변경 프로젝트
·Project ExCur
커서 import 하기
Screen 좌표와 Client 좌표
클래스 간에 포인터 얻어 오기
17. 그림판 만들기 프로젝트
·Project Paint
UP 할 때 도형이 그려지도록 합니다
새로운 툴바 만들기
ToolBar 옵션에 대하여
마우스 Move 할 때 그림 그려지게 만들자
그리기 모드(Draw Mode)에 대하여
SetROP2(R2_NOTXORPEN) 설정
채우기 기능 만들기
도구에 따라 커서가 다르게 나오게 하기
직선에서 화면을 벗어났을 때 세부 처리
18. 지우개로 지우면 사진 나오게 하기
·Project EraserPic
19. 관련 있는 것끼리 선을 연결하시오
·Project Exam
20. 자기가 만든 다이얼로그 출력하기
·Project ExDlg
다이얼로그 만들기
21. 보이기와 감추기 기능 프로젝트
·Project ExDlg1
컨트롤에 멤버 변수 부여하는 요령
Value형 변수와 Control형 변수
메시지 종류
22. 표준 컨트롤 다루기 프로젝트
·Project Company
잘못 넣은 컨트롤 변수 수정하기
UpdateData( ) 함수에 대하여
프로젝트에서 잘못된 클래스명을 삭제하는 방법
함수명 삭제하는 방법
23. 수강생 명단 관리 프로젝트
·Project ExList
리스트 박스의 Control형 변수가 호출하는 함수
엔터키를 눌러도 추가 버튼을 누른 것처럼 만들자
MSG 구조체에 대하여
들락날락한 명령어 시작 지점 제대로 정렬시키기
데이터 저장, 열기
“변경 파일 저장할까요?”라는 메시지 만들기
결과 타이틀 이름 바꾸기
24. 간단한 메모장 만들기 프로젝트
·Project Memo
소문자를 대문자로 바꾸기 버튼 처리
대문자를 소문자로 바꾸기 버튼 처리
문자열을 거꾸로 출력하기
버튼에 원하는 그림을 입히는 요령
25. 프로퍼티 페이지 나오기 프로젝트
·Project ExProperty
26. 다각형 윈도우 만들기 프로젝트
·Project DagakWin
27. View를 두 개로 쪼개는 프로젝트
분할 윈도우(Splitter Window)에 대하여
분할 윈도우의 종류
·Project ExSp
28. 정적 분할 윈도우 프로젝트
·Project Splitter
한 개의 Doc에 여러 개의 View가 연결된 경우
29. 도형 나오는 멀티 View 프로젝트
·Project Multi
결과 윈도우 원하는 크기로 나오게 하기
Spy 툴 이용하기
30. 모달리스 다이얼로그
·Project DialogTest
31. 스크롤바로 마음대로 색상 조절하기
32. 트리 컨트롤, 리스트 컨트롤 다루기
트리 컨트롤에 출력하기
리스트 컨트롤에 출력하기
33. 4대 클래스 간에 데이터 주고받기
·Project ClassRef
각 클래스 포인터 얻는 방법
34. 선택한 동영상 영화 보기
·Project ConTest
그리드 추가 요령
그리드 함수에 대하여
동영상 재생하기
35. IP 주소 이용 네이버 야후 다음 열기
포털 사이트 IP 알아내는 방법
내장된 애니메이션 나오게 하기
36. 나의 다이어리 만들기
·Project Diary
달력 만드는 방법
오늘 날짜 다른 색으로 나오게 하자
연, 월이 바뀌면 달력도 바뀌게 하자
시간 일정표 만들기
시간 일정표 저장시키기
CObList 클래스에 대하여
CObList 클래스
POSITION 클래스
CObList 멤버 함수
프로그램에서 원하는 문장 찾는 법
한꺼번에 고치는 방법
파일이 2개일 때 문제점 해결 방법
원하는 날짜 마우스로 클릭할 수 있게 만들자
트레이 아이콘 만들기
37. 다이얼로그바와 툴바에 컨트롤 넣기, Registry 다루기
·Project BarTest
위저드 이용하지 않고 메뉴 함수 만들기
메뉴 글자 상황에 맞게 바꾸기
새로운 툴바 만들기
메인 툴바 안에 콤보 박스와 스테틱 문자 넣기
콤보 항목 선택 시 사이트 브라우저 나오게 하자
자기가 만든 툴바가 메인 툴바 옆에 나오게 하자
다이얼로그바 추가하기
다이얼로그바 코딩하기
콤보에서도 이름 선택 시 메시지 박스가 나오도록 하자
상태바에 시간과 마우스 커서 좌표가 나오게 하자
상태바에 시간 출력하기
상태바에 클라이언트 좌표와 스크린 좌표를 출력하자
ControlBar 제어하기
Registry에 저장하고 꺼내 오기
레지스트리 편집기
레지스트리에 저장하기
레지스트리에서 받아 오기
38. FTP Client 프로그램
·Project FtpCl
리스트 항목 더블클릭 되었을 때 처리
원격 컴퓨터 내부 훤히 들여다보기
원격 컴퓨터 리스트에서 더블클릭 시 처리하기
하위 폴더를 누른 경우
빨간 화살표(상위 레벨) 표시를 누른 경우
버튼 활성화 처리
다운로드와 업로드가 수행되도록 하자
원격 컴퓨터에 업로드 실제로 되는지 확인해 보기
원격 컴퓨터에서 해 놓아야 할 일
로컬 컴퓨터에서 할 일
39. 사원 관리 프로젝트
·Project Semp 571
데이터 클래스 추가
CObList 멤버 함수
연결 리스트에서 데이터 찾기
퇴직 사원 삭제
Enter 키로 Tab 키 기능을 만들자
그리드로 모든 사원 보기
그리드 내에 sort 기능 이용하기
영문 입력과 한글 입력 자동 변환하기
40. 멀티플 도큐먼트 프로젝트
·Project MTest
Single document와 차이점
·Project Memp
CFormView 클래스 3개 추가
App에서 멀티플 문서를 수정 등록한다
멀티플 도큐먼트 프레임 띄우기
CSawon 클래스 추가
검색정보 처리하기
종합정보 작성하기
41. 마우스로 카드 잡고 움직이기, 탱크 자동 이동하기
·Project BitTest
비트맵 메뉴 작업
배경 위에 하트 카드 나오게 하자
카드 마우스로 잡고 움직이기
카드 이동하는 요령에 대하여
탱크 움직이기
42. 퍼즐 프로그램
·Project Puzzle
중복 없는 랜덤 숫자 얻는 프로그래밍
그림 퍼즐 나오기
조각 그림을 클릭하면 그림이 교환되게 만들자
툴바 안에 차수 콤보 박스 넣기
퍼즐 차수 변경하기
콤보 차수와 메뉴 차수 연계하기
퍼즐 그림 원하는 것으로 선택하기
컴퓨터 내의 bmp 파일 꺼내 와 출력하기
퍼즐 점수 등록하기
Debug에 대하여
이름과 퍼즐 점수 score.dat 파일로 저장하기
게임 결과 순위 보기
43. 한국형 프리셀 프로그램
게임하는 방법
·Project Freecell
CPoint 자료형 응용하기
툴바에 게임 상황을 알려 주자
게임판에 화투장 랜덤하게 깔아 놓기
화투 잡아끌고 이동하기
화투 클릭했을 때 할 일
겹쳐져 가렸던 부분 복원하기
화투 끌고 가기
마우스 UP 했을 때 할 일
더블클릭으로 완성방에 옮기기
오디오 기능을 추가한다
게임 제한시간 설정하기
게임번호 선택 추가하기
44. 채팅 테스트 프로그램
네트워크 프로그래밍
TCP/IP 프로토콜
·Project TestCl
Connect 명령으로 서버에 연결 시도
데이터 서버로 보내기
·Project TestSer
45. 채팅 프로젝트
·Project ChatCl
채팅 입장과 퇴장 처리에 대한 코드
서버에서 보내 주는 데이터를 처리
·Project ChatSer
닫힌 클라이언트 찾아내기
클라이언트에서 오는 데이터 처리하기
46. DLL 프로젝트
정적 링크 라이브러리 (Static Link Library)
동적 링크 라이브러리 (Dynamic Link Library)
·Project DllSquare
암시적 연결
·Project MainSquare
명시적 연결
·Project MainSquare2
47. 멀티스레드 프로젝트
멀티스레드
·Project PoGame
프로그램 진행 순서
풍선 띄우기
연발 총 쏘기
48. 데이터베이스 프로젝트
데이터베이스에 관하여
Access 소스 데이터 만들기
ODBC 데이터 원본 등록
·Project FamDB
DB에 Record 추가하기
DB에서 Record 수정, 저장하기
DB에서 Record 삭제하기
DB에서 Record 조회하기
해당 인물 사진 나오게 하기
◎ 2008에 추가된 흥미 있는 내용
1. 투명한 이미지 만들기
·Project ImageBlend
2. Link(링크) 컨트롤 프로젝트
·Project LinkCtrl
3. HTML 프로젝트
·Project Advertise
4. GDI+ 그라데이션 브러시
·Project Gradation
5.이미지 파일 프로젝트
·Project ImageFile
6. 툴 버튼 추가 삭제에 대하여
·Project ToolBtn
트루컬러 툴 버튼 삭제, 추가
7. 툴바에 콤보 박스 추가하기
·Project TestCombo
OnResetToolBar 메시지 함수 추가
8. 쉘 트리, 쉘 리스트 컨트롤 프로젝트
·Project TreeList