학과 샘플강의

MFC programming - 총 11시간 50분 / 강의당평균 : 35분30초

알지오 2016. 9. 21. 09:13



MFC programming
전체 : 11시간 50분 / 강의당평균 : 35분30초

01 MFC에 대해 알아보기
GUI/비주얼스튜디오인터페이스/클래스/프로시저/핸들/메시지기반구조/메세지처리
37분
책갈피 : [00:00] 윈도우프로그래밍 분석 / [00:16] 윈도우시스템 / [00:21] GUI / [00:37] 핸들 / [01:03] 비주얼스튜디오화면 / [01:45] 메세지기반구조 / [02:17] 윈도우프로시저 / [03:32] 소스코드보기 / [03:40] 기본구조 / [03:52] windows.h / [04:25] stdio.h / [04:46] main함수 / [05:25] winapi / [06:01] 윈도우클래스 / [06:36] 옵션지정 / [06:50] 구조체 / [07:09] 클래스스타일 / [07:54] 프로시저 / [08:27] 클래스데이터 / [08:30] 데이터영역 / [08:50] 인스턴스핸들 / [09:09] 아이콘 / [10:08] 커서핸들 / [10:26] 배경브러쉬 / [10:57] 메뉴이름 / [11:09] 클래스이름 / [11:28] 기본작은아이콘 / [12:19] 프레임윈도우생성 / [12:28] createwindow / [12:34] 클래스이름 / [12:57] 타이틀문자열 / [13:22] 윈도우스타일 / [14:20] 좌측상단좌표 / [14:40] 너비와높이 / [14:59] 부모/자식핸들 / [15:23] 인스턴스핸들/데이터주소 / [16:14] showwindow / [17:21] 메시지기반구조 / [18:08] translatemessage / [18:28] 메시지번역 / [18:42] dispatchmessage / [19:00] 윈도우출력순서 / [19:57] lresult / [20:17] callback / [20:46] wparam/lparam / [22:10] 메세지의 처리 / [22:14] wm_creat / [22:48] wm_paint / [23:24] beginpaint / [24:11] endpaint / [24:28] getdc / [24:52] textout/drawtext / [25:40] wm_keydown / [25:56] getclientrect / [26:19] rect / [26:51] drawtext / [28:16] dt_vcenter / [28:46] rect / [29:51] szmsg3 / [30:10] postquitmessage / [31:10] 불필요메세지의 처리 / [32:07] 빌드 / [32:18] 확인 / [32:30] 타이틀바문자열 / [32:59] ws_overlappedwindow / [33:37] ws_sysmenu / [34:06] textout / [34:20] wm_paint

02 SDI기반 프로그램 구조 분석 part1
프로그램 종류/Initinstance 분석/OLE라이브러리 초기화 함수/RichEdit 사용 함수/윈도우 클래스/컨트롤 종류
32분
책갈피 : [00:00] 프로그램 분석 / [00:06] SDI / [00:33] MDI / [00:57] 대화상자기반 프로그램 / [01:19] 싱글도큐먼트 / [01:36] 멀티도큐먼트 / [01:46] SDI 기반 프로그램 구조 / [02:09] App_Class / [02:24] CMainFrame / [02:34] Doc / [02:38] View / [03:37] MFC / [04:00] Initinstance / [04:07] exitinstance / [04:31] afx_msg void onAppabout / [04:50] Initinstance 분석 / [05:06] OLE라이브러리 초기화 함수 / [05:10] RichEdit 사용 함수 / [06:59] Show / [07:05] CCommandLineInfo / [09:37] ID_FILE_NEW / [11:01] exitinstance / [11:51] 윈도우 클래스 생성 / [11:59] 윈도우 클래스 등록 / [12:02] 윈도우 생성 / [12:08] 윈도우 화면에 보여줌 / [12:17] 윈도우 프로시저를 설정 / [13:30] CObject / [13:47] CCmdtarget / [14:11] DECLARE_MESSAGE_MAP() / [15:43] on wm create / [16:20] Frame Class / [17:53] 컨트롤 모음 / [18:01] CToolbar / [18:15] CStatusbar / [19:21] oncreate / [21:19] LoadToolbar / [21:53] IDR_MAINFRAME / [22:18] 상태바 / [22:46] 도킹 / [23:49] PreCreateWindow / [25:58] onDraw / [27:05] on_Command / [29:50] 확인

03 SDI기반 프로그램 구조 분석 part2
윈도우의 크기를 출력하는 기능과 마우스와 키보드를 눌렀을때의 반응을 출력하는 기능에 대해 실습합니다.
28분
책갈피 : [00:29] 윈도우의 크기를 출력하는기능 / [01:15] 윈도우의 크기가 바뀔때마다 윈도우의 크기가 갱신되어 출력하는기능 / [01:26] 왼쪽 마우스 버턴을 눌렀는지 오른쪽 마우스 버턴을 눌렀는지에 대해 출력하는 기능 / [01:53] 마우스가 이동중인지에 대해 출력하는 기능 / [02:13] 마우스를 드래그 하고 있는지에 대해 알수있는기능 / [03:38] 마우스 왼쪽버튼을 눌렀는지에 대한 여부 / [04:14] 드래그 시작 / [04:15] 드래그 멈춤 / [04:46] 키보드를 눌렀는지에 대해 출력하는 기능 / [05:15] 뷰의 헤더파일 / [05:43] 스트링 아웃텍스 문자열 변수에 대입 / [06:12] 메세지처리 함수에 대한 설명 / [07:46] 매크로함수의 일정한 규칙 / [09:15] 화면 가운데 출력하는 기능 / [10:24] 메시지처리기 함수에서 각각 하는 기능 / [10:58] 인티저항을 어떻게 문자열로 바꿀것인지에 대한 설명 / [12:18] 언더바 티 / [13:48] 화면을 갱신하는 함수 / [14:05] 엘버튼다운 / [14:35] 알버튼다운 / [14:50] 온키다운 / [15:09] 마우스를 드래그하고 있는지 알수있는 기능 / [16:26] 프로그램을 실행시켜서 어디 코드에 해당하는지 알아보는법 / [17:48] 마우스가 이동중인지 출력하는기능 / [18:56] 왼쪽마우스 버튼을 눌렀는지 오른쪽마우스 버튼을 눌렀는지 처리하는부분 / [19:26] 왼쪽마우스를 드래그했는지에 대해서 처리하는 부분 / [20:06] 요구사항 명세서 / [21:26] 윈도우 크기를 아는 함수 / [23:03] 도움말 참조하는법 / [25:11] 클래스 마법사 / [25:48] 왼쪽마우스버튼을 눌렀는지 오른쪽마우스버튼을 눌렀는지에 대한 메세지 / [26:18] 윈도우 메세지

04 메세지처리 개념과 메세지박스의 사용
메세지처리 개념과 메세지박스의 사용에 대해 공부하고 실습합니다.
31분
책갈피 : [00:24] 윈도우가 생성될때 혹은 종료될때 출력할 문자열 출력버튼,아이콘, 도움말ID / [01:34] 윈도우가 생성될때 오는 메세지 / [01:38] 윈도우가 종료될때 오는 메세지 / [02:07] 클래스 위자드 사용방법 / [03:52] AF메세지박스 함수 사용방법 / [04:30] 메세지처리 수정 / [05:15] 함수의 원형 / [06:46] 인포메이션 아이콘 / [07:14] 프로그램 종료 / [07:30] 시계프로그램 설명 / [08:35] 시간을 얻어오는 기능 / [08:46] 매초마다 함수를 호출하는 기능 / [09:26] 왼쪽 마우스를 누르면 시계를 동작 시키는 기능 / [09:46] 시계가 동작중인지 아닌지에 알수있는 함수 / [09:54] 사용자에게 묻는 메세지박스 / [10:41] 시계를 화면 중앙에 출력하는 기능 / [11:16] 셋타이머와 킬타이머 / [12:18] 타이머를 계속 작동 시키는 기능 / [12:22] 타이머를 중지 시키는 기능 / [12:33] 현재시간을 출력할 문자열 변수 / [12:41] 동작중인지 아닌지 아는 변수 / [13:16] 셋타이머 인자 / [13:46] 타이머 동작 변수 / [14:01] 현재시간이 어떻게 됐는지 알아오는 함수 / [15:54] C타임클래스 (도우미클래스)가 하는일 / [16:47] 경과시간 설정 / [17:44] 인벨리데이트함수를 이용해서 화면에 출력 하는 코드 / [18:40] 엘버튼다운과 알버튼다운 / [20:45] 타이머 해제 / [21:37] 뷰클래스가 파괴가 될 때 처리기 / [23:18] 초마다 갱신되는 타이머 프로그램 실행 / [24:25] 왼쪽마우스와 오른쪽마우스 클릭하여 기능확인 / [25:00] 타이머 동작을 멈추는 기능 / [26:07] 다시 타이머를 동작 시키는 기능 / [26:40] 중복된 소스코드 / [27:41] 소스코드를 좀 더 알기 쉽게 작성하는 법

05 문자 입력 및 이동 프로그램
문자를 입력하고 이동하는 프로그램을 만들어봅니다.
32분
책갈피 : [00:25] 기능 구현 설명 / [00:41] 문자를 보드로 입력받는 기능 / [00:56] 문자열 저장할 변수 / [01:07] 문자를 문자열 변수에 추가하는 기능 / [01:14] 백스페이스키로 문자 지우기 기능 / [01:52] 문자열 위치 옮김 기능 / [02:30] 페이지 업 다운으로 상하의 문자 위치 이동시키는 기능 / [02:46] HOME키 기능 / [02:53] 문자열 출력 위치 변수 / [03:44] 왼쪽 버튼 클릭후 문자열 이동출력 기능 / [04:00] 오른쪽 버튼 클릭 후 문자열 삭제, 입력 메시지 출력기능 / [04:41] 문자 위치의 기준이 넘어가면 최대값으로 위치 강제기능 / [06:46] 초기 문자열의 위치 / [07:40] 화면의 크기 변수 / [07:46] 화면의 크기에 따라 업데이트하는 기능 / [08:13] 메시지 처리기 / [08:33] WM_CHAR 메시지 / [09:46] WM_KEYDOWN 메시지 / [10:05] WM_LBUTTONDOWN 메시지 / [10:28] WM_RBUTTONDOWN 메시지 / [10:46] WM_SIZE 메시지 / [11:28] 소스코드 분석 / [11:41] 다섯가지 메시지 처리기 확인 / [12:07] 세개 변수 확인 / [12:46] 메시지 처리기 구현 방법 확인 / [13:09] onDraw 함수 / [13:26] 기능 처리기 확인 / [13:58] onChar 구현 / [17:00] onKeyDown 함수 / [18:36] onSize메시지 / [20:15] onLButtnDown처리기 / [20:52] onRButtnDown처리기 / [22:41] 프로그램 실행 해당부분 확인 / [25:18] 문자열 위치 기능 테스트 / [25:56] HOME키 테스트 / [26:07] 경고메시지 체크 / [27:45] 화면의 크기에 따라 업데이트 여부 체크 / [28:11] onRButtnDown 체크 / [29:56] 간략한 코드의 중요성

06 Dialog 기반의 MFC 프로그램과 컨트롤들
Dialog 기반의 MFC 프로그램과 여러가지 컨트롤들을 공부하고 실습합니다.
38분
책갈피 : [00:01] MFC프로그램소개 / [00:39] SDI(Single Document Interface) / [01:23] MDI(Multi Document Interfac) / [01:48] Dialog Base / [02:52] Dialog기반의 옵션창 / [03:23] Dialog기반의 리소스 / [04:38] 컨트롤소개 / [05:15] Button / [05:46] 라디오버튼과 체크박스의 차이점 / [07:00] 라디오버튼 속성창 / [07:13] 라디오버튼 ID지정 / [07:46] Visible / [08:03] Auto / [08:13] Caption / [08:22] Left Text / [08:31] Multiline / [08:43] Notify / [09:05] Right align Text / [09:11] Static Edge / [09:15] Transparent / [10:24] 리소스가 화면에 출력이 되면 미리 알수있는 방법 / [11:15] 리스트박스 삽입 / [12:39] 체크박스 컨트롤 / [13:00] 에디트 박스 / [13:30] 컨트롤들과 프로그램의 대화 / [14:43] 컨트롤과 대화를 할 수 있는 방법 / [15:11] 해당하는 ID와 컨트롤 변수를 연동해서 / [16:21] 간혹 가다가 짧게 대화가 필요할 때 / [17:32] 값 변수를 연동해서 대화 / [18:55] 컨트롤 변수지정 / [20:45] 값변수와 컨트롤변수 구분 / [22:33] 데이터 추가 / [23:47] 메세지 처리기 / [24:18] 소스코드를 보면서 확인 / [26:02] 값 변수와 컨트롤 변수를 연동하는 부분 / [27:55] 이벤트 처리기 추가 / [28:37] 프로그램 시작점 / [29:48] 함수명 작성 / [31:29] 업데이트 콤보박스의 기능 / [32:52] 체크박스 업데이트데이타 함수 / [34:00] m_b Check1의 값을 읽어오기 / [35:00] 콤보박스에 추가하는 부분 / [35:52] Delete / [36:20] 리스트박스 추가 / [36:37] 실행하면서 보기

07 Dialog 기반의 MFC 프로그램과 단위변환 프로그램
Dialog 기반의 프로그램과 단위변환 프로그램 작성해보고 다이알로그의 화면 출력 방법인 모달과 모달리스(Modal, Modeless)에 대해 알아봅니다.
31분
책갈피 : [00:06] dialog 기반의 프로그램과 단위 변환 프로그램 / [00:20] 리소스 보기 / [00:44] 단위 변환 프로그램 만들기 / [01:38] dialog 화면에 출력하는 방법 / [02:04] app클래스가 dialog 띄우는 방법 / [02:42] 모달리스 형식으로 dialog 띄우기 / [03:22] 두모달 형식과 모달리스 형식의 차이점 / [04:00] 두모달 형식과 모달리스 형식 사용 시기 / [05:30] 두모달 형식으로 띄우는 이유 / [06:11] 변환 프로그램 생성시 필요기능 / [07:00] 변환 공식 / [08:46] 화면창 감추기 추가 / [09:46] 코드 보기 / [10:09] 이벤트 처리기 / [11:43] m_nRadioSelect 변수 / [12:05] group 속성 / [13:11] 컨트롤 값 변수 연동 / [13:48] combobox_contens / [13:58] m_nRadioSelect 컨텐츠를 사용 했을 경우 / [15:39] 변환하기 버튼 클릭했을 경우 / [15:54] unit_convert_table 보기 / [16:45] convertUnit 함수 / [17:41] index에 들어오는 값 확인 / [17:56] 단위 예 보기 / [18:41] unit_convert_table 값 보기 / [19:26] 변환단위표 선택시 다이올로그 테이블 띄우기 / [20:59] 토글 기능 구현 / [21:17] iswindowvisible 함수 / [21:59] movewindow 함수 / [22:26] getwindowrect / [24:02] 확인 / [25:55] 단위변환 프로그램 이동시 변환 단위표 위치 고정 / [26:40] 처리기 코드 추가 / [27:00] 에러가 뜨는 이유 / [27:52] 확인 / [28:03] 단위변환 프로그램 이동 / [28:25] 현재값 변경시 자동으로 값 변환하기 / [29:21] 값 가져오기 / [29:41] convertunit 함수 호출 / [30:00] 확인

08 SDI 기반의 MFC 프로젝트 part1
메뉴/툴바/상태바컨트롤/단축키
37분
책갈피 : [00:23] 메뉴 보기 / [01:18] 툴바 / [02:15] 메뉴아이콘 보기 / [03:43] 상태바 컨트롤 / [05:11] 단축키 / [06:10] 프로그램 생성 기능 정리 / [08:11] 리소스 뷰-accelerator / [09:01] 단축키 속성 / [09:54] ID_MENU_LINE / [09:58] Prompt / [10:58] caption / [11:46] separator / [12:11] 툴바 아이콘 속성 / [13:52] IDR_POPUP_EDIT / [15:01] 풀다운 메뉴에 새 메뉴 추가 기능 / [15:43] 메시지 처리기 기능 / [18:03] 메뉴에 단축키 적용 기능 / [19:00] 팝업 메뉴 추가 기능 / [20:33] onContextMenu / [21:44] showPopupMenu / [23:11] 새로운 툴바 생성 기능 / [23:21] wndToolBar / [24:44] 툴바 버튼 보기 / [25:18] ui 업데이트 / [26:36] 상태바에 문자열 추가 기능 / [26:55] setIndicators / [27:45] SetPaneInfo / [28:56] onMouseMove / [29:36] 캐스팅 설명 / [30:44] 마우스 좌표 설정 / [31:07] 툴바 상태바 변경 / [32:22] 프로젝트 보기 / [32:44] CList / [33:52] 직선 그리기 선택 / [34:29] 직선 prompt 보기 / [35:07] 팝업 메뉴 테스트 / [35:45] 마우스 위치 확인

09 SDI 기반의 MFC 프로젝트 part2
다이얼로그바 컨트롤에 대해 공부하고 실습합니다.
31분
책갈피 : [00:15] 다이얼로그바 컨트롤 / [00:59] 다이얼로그바 컨트롤 사용 구분 / [02:20] 피쳐팩 이후 다이얼로바 컨트롤 사용 금지 이유 / [02:38] 다이얼로그 리소스 보기 / [04:45] 다이얼로그바 사용에 필요한 기능 알아보기 / [07:30] 메인 프레임 보기 / [07:44] 다이얼로그바 생성 / [08:22] 도킹 가능 코드 입력 / [09:13] 계산기 버튼 설정 / [10:07] 백스페이스 설정 / [10:39] 소스코드 보기 / [11:35] ButtonProcess / [12:24] 아이콘 추가 / [12:39] pFrame / [14:22] 인자값 보기 / [15:30] SetDlgItemInt / [16:18] Invalidate 함수 호출 / [16:56] 프로젝트 속성 보기 / [17:37] 계산 기능 추가 / [19:02] 나눗셈 보기 / [19:33] try catch 문으로 예외처리 / [20:02] 인티저 값 보기 / [22:18] clear / [22:59] 화면 보기 / [23:45] 리소스 보기 / [24:07] 숫자 입력 / [24:33] 계산 결과 초기화 / [25:03] 예외처리 / [26:07] 숫자 표시 테스트 / [26:30] 프로그램 변경 / [27:37] 확인 / [27:52] 추가 기능 테스트 / [29:56] 다이얼로그바 파괴 확인

10 Device Context와 무늬에 대한 기능 추가
DC에 대해 학습하고, 직선그리기/원그리기/다각형그리기/선색상면색상/무늬에 대한 기능을 추가하는 작업을 진행합니다.
38분
책갈피 : [00:05] Device Context에 대해 알아보기 / [01:37] 펜 속성과 브러쉬 속성 / [02:12] 브러쉬 종류 보기 / [03:15] selectObject 함수 / [03:30] 리턴 값 / [04:30] 그리기 / [04:40] MoveTo, LineTo 함수 / [05:00] Elipse 함수 / [05:26] Polyline, Polygon 함수 / [06:00] Polygon 함수 사용 예 / [06:30] Rectangle 함수 / [07:00] 직선 그리기 / [07:46] 마우스 클릭 변수값 입력 / [08:18] 시작점과 끝점 설정 / [08:54] 다른 영역에서 dc 가 필요할 경우 / [09:33] 확인 / [10:13] 그리기 모드 변경 / [11:39] 확인 / [12:09] 화면 유지하기 / [12:46] 원 그리기 / [13:03] Elipse 함수 입력 / [14:11] 확인 / [14:33] 다각형 그리기 / [14:41] 다각형 생성시 생각해야 할 점 / [16:26] Polygon 함수 입력 / [18:30] m_bFirstLButtonDown / [19:48] 마우스 무브 처리 / [21:03] RButtonDown 설정 / [22:48] 확인 / [23:03] 다각형 그리기 / [24:40] 선 색 변경 / [24:52] 색상 입력 / [25:06] 무늬 삽입 / [25:30] 선과 색상 선택된 부분 코드 보기 / [25:48] CColorDialog / [26:40] hatch styles 보기 / [28:18] 선 색상 변경 / [28:37] 원 그리고 무늬 넣기 / [28:56] 펜 두께 조절 / [29:18] 확인 / [29:45] Pen Styles / [30:25] 펜 스타일이 보이지 않는 이유 / [32:05] 사용자가 지정한 기준이 모호할 경우 / [33:44] 선의 굵기가 굵은 경우 / [34:07] 선의 두께와 간격 조절하고 싶을 경우 / [35:07] ClipCursor / [36:05] 원 그리기 / [36:37] setcapture 이용 / [37:22] 확인

11 비트맵(Bitmap)
비트맵에 대해 공부하고 실습합니다.
38분
책갈피 : [00:04] 비트맵 / [00:36] 기본적인 비트맵 화면에 출력하기 / [01:26] c bitmap 클래스 / [02:00] bitblt 함수 / [03:42] createCompatibleDC / [04:46] 비트맵 확대,축소 / [05:46] 비트맵 투명도 조절 함수 / [06:15] Alpha 채널 / [06:54] 프로그램 기능 추가하기 / [08:20] 메뉴 처리기 처리 / [09:15] 화면에 그리기 / [09:54] 비트맵 리소스 추가 / [10:35] 새로 만들어진 DC에 그리기 / [11:18] 비트맵 사이즈 알아오기 / [12:13] 비트맵 감소 / [13:11] 비트맵 투명하게 하기 / [14:07] Blendfunction / [15:58] 옛날 비트맵으로 돌려주기 / [16:06] 확인 / [16:56] 투명도 테스트 / [17:33] gdiplus 라이브러리 / [18:37] 라이브러리 사용을 위해 필요한 조건 / [19:40] .lib 파일 / [21:41] 해상도 개념 / [22:33] 더블버퍼 / [23:15] 더블버퍼링이 필요한 이유 / [23:41] 더블버퍼링 개념 설명 / [25:07] 더블버퍼 개념 적용 / [25:15] 네모 / [26:26] 원 / [26:59] gdiplus 그리기 확인 / [27:41] 펜 두깨 받기 / [30:06] 버튼 업을 했을 경우 / [30:41] 반지름 계산 함수 / [31:07] sqrt / [32:15] ondraw 함수 보기 / [33:45] 비트맵 지정 / [34:52] drawRectangle / [35:30] intersectcliprect / [36:22] drawline 함수로 선 그리기 / [37:22] delete dc / [38:15] 해상도 설정

12 리스트뷰 컨트롤과 트리 컨트롤
리스트뷰 컨트롤, 트리 컨트롤에 대해 학습하고 실습합니다.
38분
책갈피 : [00:07] 리스트뷰 컨트롤과 트리 컨트롤 / [00:30] 예제 보기 / [01:23] 프로그램 생성 / [01:57] 옵션에 따른 리스트 형태 바꾸기 / [02:27] 리스트 형태 보기 / [03:23] 추가에 대한 기능 / [03:53] 예외처리 / [04:11] LV_ITEM / [04:58] 리스트 뷰에 대한 항목 추가 / [06:09] mask / [07:12] or 연산자 / [09:26] 포맷 / [09:39] subItem / [10:20] SetExtendedStyle / [11:33] 추가하는 부분 보기 / [11:56] Item / [13:13] InsertItem / [14:13] 버튼 리셋 / [14:48] 수정 / [15:37] 항목값 보기 / [16:48] 모든 항목 수정 / [17:02] 삭제 / [17:40] 값을 바꾸는 이유 / [18:11] 예를 들어보기 / [19:41] 항목 보기 / [20:03] GetWindowLong / [20:56] not 연산자 / [21:41] 테스트 / [22:45] 코드 확인 / [23:18] -1을 한 이유 / [24:37] 각 항목 초기화 코드 / [25:52] 리스트 보기 각 항목 스타일 변경 / [26:26] 트리 컨트롤 / [27:00] 트리란? / [27:41] 공용문서 / [28:11] 문서를 삭제 할 경우 / [28:59] 트리 컨트롤에 대해 알아보기 / [29:18] 추가 항목 보기 / [30:00] 구조체 보기 / [31:22] expand / [32:04] 수정 / [32:42] 삭제 / [33:37] c++ 언어 추가 / [34:51] 확인 / [35:35] 여러개의 항목 추가하기 / [36:14] 나중에 루트 노드 추가하기 / [36:51] 이벤트 처리기 추가 / [37:09] 확인

13 그밖의 다양한 컨트롤 part1
Picture Control/Slide Control/Spin Control/Progress Control/Tab Control/IP Address Control/Date Time Picker
39분
책갈피 : [00:14] 도구상자 보기 / [01:21] 첫번째 예제 / [01:30] 픽쳐 컨트롤 / [02:36] 탭 컨트롤 / [02:51] 슬라이드 컨트롤 / [03:36] 스핀 컨트롤 속성 보기 / [04:12] 탭 순서 / [04:30] 소스 보기 / [06:13] 컨트롤 확인 / [06:46] SelectObject / [07:30] onSelchangeTabSelection / [08:07] 슬라이드 컨트롤 보기 / [09:11] 체인지 / [09:35] 스핀 컨트롤 보기 / [10:26] spinsize / [10:43] fcolor / [10:52] 탭 컨트롤 초기화 / [12:07] insertitem / [12:26] showControls / [13:16] 비트맵 가져오기 / [14:31] 브러시 / [15:43] 슬라이드 바 / [16:11] 스핀 컨트롤 처리기 / [17:21] 실행 후 확인 / [17:40] 크기 조정 / [18:10] 색 슬라이드 조정 / [19:17] 리소스 보기 / [22:56] 코드 보기 / [23:45] ConvertFromIP / [23:56] 값들에 대한 변수 초기화 / [24:25] 이니셜 다이얼로그 바 보기 / [24:52] onClickedButton / [25:00] setTimer / [26:26] 설치한 타이머에만 작업하기 / [27:41] 서머리 포맷 / [29:37] convertFromIP / [30:22] C Date Time 컨트롤 처리 / [31:18] MSDN 보기 / [32:37] MakeSummary / [33:51] 확인 / [34:52] 데이터 전송 / [36:00] 처리 후 재 확인 / [36:45] Date Time Picker 컨트롤 / [36:52] %A / [37:07] %B / [37:21] %d

14 그밖의 다양한 컨트롤 part2
MFC ColorButton Control/MFC FontComboBox Control/MFC VSListBox Control/MFC PropertyGrid Control
38분
책갈피 : [01:00] 도구상자 보기 / [02:07] MFC ColorButton Control / [02:43] 항목 전경 / [03:46] MFC VSListBox Control / [04:15] MFC FontComboBox Control / [04:56] MFC PropertyGrid Control / [05:13] 속성 보기 / [06:08] 리소스 미리 보기 / [07:44] 코드 보기 / [08:24] MFC ColorButton 설정 / [08:46] enableAutomaticButton / [09:48] MFC FontComboBox 설정 / [11:13] namecard / [12:22] 메세지 처리 / [12:52] 클래스 구현 / [13:13] 메세 지 맵 처리 / [13:50] 표준 액션 오버라이드 보기 / [15:31] 네임카드 코드 생성 / [16:32] 일반 리스트 박스와의 차이점 / [17:11] moveWindowTo / [17:33] Propertygridctrl 보기 / [18:06] 네임카드 속성에 들어갈 항목 설정 / [18:44] 생성자를 통한 값 초기화 / [19:25] DotNet 스타일 / [20:03] 신상 정보 부분 설정 / [20:33] 속성 확인 / [21:00] 값을 이용한 아이템 추가 / [22:14] 콤보박스 값 만들기 / [23:48] 다른 프로포티 생성 / [24:07] PropertygridFontlProperty / [25:18] 기타란 / [26:11] 명함 그려주기 / [27:26] 네임카드 새로 추가 / [28:17] 배경 그리기 / [28:37] 폰트 생성 / [29:15] 연락처 부분 설정 / [30:26] DeletNameCard / [31:07] DeletNameCard 작동 / [32:07] 메모리 복사 / [32:30] 주의할점 / [33:52] 자료구조 이용 / [34:37] 확인 / [34:52] 이름 입력 / [36:04] 텍스트 색상 / [36:37] 배경처리

15 리본 컨트롤 (Ribbon Control)
리본바를 생성하고 상태 표시줄, 커스텀 객체, 컬러 버튼, 줌 기능, 제어점, 텍스트, 스타일을 설정합니다.
40분
책갈피 : [00:08] Ribbon Control / [00:26] 파워포인트 보기 / [01:30] 다이얼로그와 차이점 / [02:04] 리본 삽입 / [02:37] 이미지 설정 / [03:30] 리본 컨트롤 비교 / [04:12] 버튼 배치 / [04:40] 패널 이름 변경 / [05:27] image index 설정 / [05:44] 버튼 삽입 / [06:30] image index 설정 / [07:00] 속성 보기 / [07:46] 작성한 리본 살펴보기 / [09:01] 커스텀 객체 / [10:13] 슬라이드 컨트롤 / [10:37] 제어점 / [11:31] 글자크기 / [11:50] 스타일 기능 / [12:26] 소스 코드 보기 / [13:24] 리본, 상태 바 생성 확인 / [14:13] 시스템에 기본적으로 제공되어있는 값 가져오기 / [14:48] FindByID / [16:45] 폰트 정보 가져오기 / [17:18] 텍스트 기본 크기 지정 / [18:11] 입력 부분 설정 / [19:33] 틀 만들기 / [20:11] 값 초기화 시키는 법 / [21:45] 현재 상태 알아보기 / [22:59] 상태 바 추가 / [23:30] 도킹 모드 / [24:11] 스타일 지정 / [25:18] ButtonEraser / [25:56] edit text / [26:59] wtoi 함수 / [27:18] ButtonLinecolor / [27:59] 포지션 값 설정 / [28:32] CheckBox / [29:26] ID Check Point / [30:41] 직선 설정 / [31:32] 그리기 모드 / [32:34] clientDC 이용 / [33:15] 화면 확인 / [33:37] 스타일 설정 / [34:15] 텍스트 입력 / [35:00] 논리단위와 일반단위 적용 / [35:22] 확인 / [36:05] 직선 그리기 / [36:30] 사각형 그리기 / [37:00] 선 색 적용 / [37:35] 확대 축소 / [38:22] 퀵 메뉴에 추가하기 / [39:20] 버그가 발생할 경우

16 도큐먼트 클래스
도큐먼트 클래스 이용하는 방법과 도큐먼트 클래스에서 데이터 처리하는 방법에 대해 알아봅니다
38분
책갈피 : [00:26] 데이터 처리 방법 / [00:30] 데이터란? / [02:00] 예제 / [03:23] 파일 처리 / [04:46] ini 파일 / [05:40] 2진 파일 / [05:58] 2진 파일로 저장 시 장점 / [07:00] 예제 / [07:44] 소스 보기 / [08:37] trimright / [09:24] 함수를 모를 경우 / [10:26] 콤마 지움 표시 / [12:07] 왼쪽 버튼 클릭해 다이얼로그 띄우기 / [13:28] 바뀐 부분 보기 / [14:22] 실행 / [14:54] 저장하고 불러오기 설정 / [15:15] 직렬화 / [18:25] 동작되는 과정 보기 / [19:11] 불러오기 / [19:22] 값이 바뀌지 않은 이유 / [19:59] 값 수정후 저장하기 / [21:14] 정보 확인 / [23:22] 새 프로젝트 열기 / [23:48] 프로그램 설명 / [24:56] 원하는 기능 구현하기 / [25:56] 선언한 값 연동 보기 / [27:17] 변수 뷰에서 보기 / [28:41] 에러가 뜨는 이유 / [30:32] friend 키워드 / [30:56] 변수 선언 / [32:04] 선언된 부분 확인 / [34:15] 컴파일 보기 / [34:52] 에러 수정 / [35:52] carchive 참조형 리턴하는 이유 / [36:58] 참조형이 아닐 경우 / [37:13] 객체지향적인 설계 / [37:45] 값 불러오기

17 뷰 분할과 여러개의 뷰 변경
화면뷰 영역 나누기 기능과, 버튼을 이용한 뷰 화면 전환 방법을 알아봅니다
36분
책갈피 : [00:20] 화면뷰 영역 나누기 기능 알아보기 / [02:36] 비쥬얼 스튜디오 보기 / [03:23] 소스파일 열기 / [04:45] csplitterwnd 클래스 / [05:00] 다이얼로그 보기 / [05:56] m_wndsplitter 변수 선언 / [06:12] 윈도우 분할 처리 / [08:18] 소스코드 확인 / [08:43] 윈도우 창 배열 만들기 / [09:24] createView 해주기 / [10:22] pcontext / [12:05] CFormView / [12:50] 탐색기 뷰 보기 / [14:39] CPractice10_3View / [15:22] 리스트뷰 화면에 출력하는 코드 / [17:10] 확인 / [18:17] 값 수정 / [19:03] m_wndsplitter.getpane / [21:40] 버튼을 이용한 화면 전환 / [21:56] 새 솔루션 열기 / [22:32] 뷰 보기 / [23:32] 첫번째 뷰 코드 보기 / [24:22] 소스코드 확인 / [25:25] 세컨드 뷰 확인 / [25:56] 두번째 뷰를 처음 만들 경우 / [27:30] onInitialUpdate 함수 / [28:11] 다이얼로그 컨트롤 ID값 지정 / [30:22] 첫번째 뷰 함수 보기 / [30:51] 첫번째 뷰가 null인지에 대해 체크 안하는 이유 / [31:48] 디버깅 기법 / [33:07] 컴파일 / [34:07] 도큐먼트 확인 / [35:21] 컨트롤 역할을 하는 뷰일 경우 / [35:35] CRichEditView

18 DLL(Dynamic Linking Library)
37분
책갈피 : [00:04] DLL / [00:25] textOut 호출 방법 / [01:00] .lib 파일 / [01:23] 동적의 의미 링크 설명 / [02:46] 클래스의 존재 / [03:19] cpp파일이 없는 이유 / [04:11] 함수에 대해 DLL호출 / [04:15] DLL을 만들 수 있는 종류 / [05:00] 메인함수 / [05:56] dll 메인에서 발생하는 4가지의 메시지 / [06:30] dll 작성 방법과 호출 방법 / [07:09] 프로젝트 2개 로드 / [07:30] 속성 확인 / [07:46] 대상 확장명, 구성 형식 / [08:16] 링커-입력-모듈 정의 파일 / [09:16] 새 프로젝트 / [09:24] MFC DLL / [09:52] dll로 내보낼 함수 calender살펴보기 / [10:18] extern c라는 문자열 / [10:33] c스타일 함수 / [11:03] 인자의 개수와 타입이 다른 형식 / [12:05] declspec-dll을 내보내는 함수 / [12:41] dllimport / [13:11] 일반 함수 작성과 똑같이 작성 / [13:41] 6곱하기 7행렬에 저장 / [13:56] 포인터 / [14:52] 배열의 이름은 배열의 시작점과 같은 부분 / [15:18] 배열의 이름을 통해서도 접근 가능 / [16:48] def파일 확인 / [17:02] exports / [18:06] DLL호출 / [18:30] 컴파일 하면 .dll과 .lib파일 생성 / [19:22] 2개의 파일 복사 / [19:32] 사용 방법 / [20:41] calender함수 호출 / [20:52] dll을 프로그램에 링크 하는 방법 / [21:07] 속성-링커-입력-추가 종속성 / [21:37] 명시적 방법 / [21:56] 코드 실행 / [22:22] dll을 묵시적인 방법으로 호출하기 / [23:33] loadlibrary함수 사용 / [23:47] GetProcAddress / [24:18] 함수 포인터 리턴 / [25:40] 예제 코드 컴파일 / [27:02] 포인터 타입을 가지고 함수 포인터 변수 선언 / [27:33] freelibrary함수 호출 / [28:36] 컴파일 확인 / [28:47] 클래스를 dll화 시키는 방법 / [29:25] AFX_EXT_CLASS / [30:11] dllmain 확인 / [30:26] 확장 dll을 초기화 하는 코드 / [31:36] dwReason / [32:22] 프로젝트 속성 확인 / [33:45] jumin.h파일 가져오기 / [34:50] 헤더파일 include / [36:34] 각각 dll로 호출되는 것 확인

19 데이터베이스
38분
책갈피 : [00:05] 데이터베이스 / [00:31] 예제-학생관리 정보 시스템 / [02:44] 데이터의 양이 많을 경우 / [04:46] 많은 양의 자료를 효율적으로 관리 / [05:00] 데이터베이스의 여러가지 서비스 제공자들 / [05:30] db를 어플리케이션에서 사용할 경우 / [05:46] web or application / [06:10] ODBC / [06:56] SQL 설명 / [07:12] OLE DB / [07:46] ADO / [08:09] 여러가지가 존재하는 이유 / [10:31] OLE DB를 가지고 SQL data처리 / [10:50] access 프로그램 / [11:07] 디자인보기-저장 / [11:45] card 테이블 열기 / [12:28] 5개의 데이터 입력 확인 / [12:45] dialog확인 / [13:00] toolbar확인 / [13:28] dataSet이라는 클래스 / [13:56] 연결방법-Session 필요 / [14:50] 주고 받을 때 사용하는 명령 Query / [15:20] Command / [16:03] CSession이라는 클래스 변수 선언 / [16:41] 모든 데이터를 string으로 가져오기 / [17:14] dbSession.Close / [17:33] 데이터베이스 제공자 설정 / [18:40] dataSource클래스 필요 / [19:33] CoInitialize함수를 호출하지 않을 경우 / [19:52] query를 던지는 함수 / [20:33] command를 open할 때 / [21:22] 데이터소스를 이용해 데이터 주고받기 / [22:18] GetTotalRecordCount가져오기 / [23:11] moveNext / [23:32] totalcount값을 string으로 가져오기 / [25:02] 데이터베이스는 1번부터 시작인데 2번부터 가져온 이유 / [25:33] 실행 확인 / [26:22] 다음을 눌렀을 때 어떤 데이터베이스가 호출되는지 확인 / [27:21] 추가하기 / [28:07] 추가에 대한 query확인 / [28:21] insert into / [29:22] 수정하기-update / [29:37] update에서 중요한점-where조건문 / [30:45] 삭제하기-delete / [31:25] 일련번호 / [31:51] 검색하기 / [32:19] 항목마다 검색이될 수 있도록 검색 문자열 입력 / [32:30] 전체 레코드 개수 계산 / [33:52] 수정하기 확인 / [34:19] 삭제하기 확인 / [34:37] 추가했을 경우 일련번호 확인 / [36:22] 링크 살리기

20 네트워크 프로그래밍
33분
책갈피 : [00:05] 네트워크 프로그래밍 / [00:49] http프로토콜 / [01:07] ip를 통해 통신 주고받기 / [01:36] Port / [03:23] a와 b가 통신을할 때 필요한 매게체 / [03:46] Socket / [04:15] Server와 Client / [04:46] Server가 Socket을 생성 / [05:14] ip와 port번호 지정-bind / [05:46] Listen / [06:30] Sync 동기화 모드, Async 비동기화 모드 / [07:30] Connect 함수 호출 / [07:59] Accept / [08:16] 채팅프로그램 만들기 / [09:26] server에 대한 socket처리 / [10:33] Accept함수 호출 / [12:01] server를 눌렀을 때 ip가 나오고 connect / [12:18] 서버일 경우 / [12:37] socket을 만드는 과정 / [12:56] create함수 내부 확인 / [13:50] client누르고 ip입력 후 connect / [14:15] 서버 ip확인 / [14:48] 입력받은 ip와 port번호를 이용해 connect호출 / [15:22] 서버에 onAccept함수 호출 / [16:18] 변수명 connectedSocket / [17:00] 채팅하는 코드 / [17:26] sendData내용 확인 / [17:55] clientSock에 onReceive함수 처리기 구현 / [18:18] temp와 sizeof / [18:52] receive데이터를 260이상 보낼 경우 / [19:26] 패킷 구성 / [19:37] 헤더와 내용 / [20:48] socket을 통해 통신 / [21:52] 프로그램 실행 / [22:22] server-open / [22:48] ip주소를 가져오는 코드 / [23:41] client-서버주소 입력-connect / [24:07] 데이터 send / [24:41] 외부 컴퓨터의 프로그램 실행 / [25:00] server-open / [25:14] client-서버 입력-connect / [25:37] ip가 다른 이유 / [27:56] 동일한 ip / [28:11] 고정 ip와 유동 ip / [29:37] 공유기에대해 처리하지 않아 발생하는 현상 / [30:18] 공유기를 사용하는 컴퓨터 server-open / [30:32] client가 ip입력후 connect / [30:48] 공유기로 인해 통신 불가 / [31:48] 네트워크 프로그래밍의 문제점


샘플확인 : 알지오 검색후 -> 강의검색란 -> MFC programming