ONLINE CLASS

MFC강좌

COURSE FOCUS

이 강의에서 배우는 핵심 실무

MFC의 메시지 기반 구조와 SDI 프로그램의 초기화 과정을 분석하며 윈도우 응용프로그램이 동작하는 방식을 배웁니다. Dialog 기반 화면에서 컨트롤과 비트맵을 다루고 도큐먼트 클래스로 데이터를 처리하는 실습을 진행합니다. HTTP 프로토콜과 동기·비동기 모드의 네트워크 프로그래밍까지 살펴보며 화면 구성과 데이터 관리, 통신의 역할을 연결합니다.

?

수강 전 꼭 확인하세요

수강 전 자주 묻는 내용을 간단히 안내드립니다.

Q초보자도 교재 없이 수강 가능한가요? 프로그램 정보는?
A

네, 영상과 실습자료로 쉽게 학습할 수 있습니다. 알지오는 원격평생교육원으로 프로그램 관련 정보는 제공하지 않습니다.

◆
기업이 선택한 신뢰 강의

검증된 커리큘럼과 전문 강사진으로 높은 만족도를 제공합니다.

자세히 보기  >
♥
수강료 일부는 사회환원에 사용됩니다.

작은 나눔이 더 나은 내일을 만듭니다.

자세히 보기  >
REAL REVIEW

수강생 리얼후기!

실제 수강생의 학습 경험을 확인해 보세요.

수강후기를 불러오는 중입니다.

RECENT Q&A

최근 수강질문

최근 등록된 수강질문을 작성순서대로 확인해 보세요.

ALZIO DEEP GUIDE

MFC을 더 깊게 이해하기

20강에서 메시지 처리와 SDI·Dialog 구조를 시작으로 DC·컨트롤·리본·문서/뷰·DLL·데이터베이스·HTTP 통신을 연결합니다. 단위변환과 문자 이동의 실제 실습을 바탕으로 화면의 입력과 자료 처리 책임을 나눕니다.

공식 기술정보 확인20강 커리큘럼 연결2026 현재 기술정보

MFC강좌 · 20강 · 11시간 50분

01

MFC은 무엇인가

MFC는 Windows 데스크톱 프로그램을 C++ 클래스로 구성하는 라이브러리입니다. Win32와 COM 기능의 상당 부분을 감싸며 창·메뉴·컨트롤을 조합하는 작업을 돕습니다. Windows용 UI 라이브러리라는 실행 범위와 C++ 언어 자체를 구분해 학습합니다.

02

관련 플랫폼과 개발도구의 관계

Visual Studio는 프로젝트와 빌드를 다루는 개발 도구이고 MFC는 응용프로그램의 구조를 제공하는 라이브러리입니다. 창에서 발생한 메시지를 처리 함수와 연결하고 문서의 자료를 뷰에 표시합니다. 외부 DLL·데이터베이스·네트워크는 각각 연결 조건을 확인해야 합니다.

03

MFC의 핵심 기능

기술 자체의 기능과 이 강좌의 직접 학습 범위는 다릅니다. 아래 연결 표시는 저장된 공개 커리큘럼에 근거합니다.

메시지·이벤트

키보드·마우스·명령을 처리 함수에 연결합니다. 입력에 따른 화면 변경을 찾는 출발점입니다. 메시지마다 처리 대상과 호출 흐름을 확인합니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

대화상자·컨트롤

입력과 선택·진행 상태를 창 안에 배치합니다. 단위변환 같은 작은 도구의 UI를 구성할 수 있습니다. 모달과 모달리스의 상호작용 조건은 다릅니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

DC·그리기

장치 컨텍스트를 통해 선·도형·비트맵을 출력합니다. 그릴 자료와 현재 표시 상태를 나누어 점검합니다. 화면에 한 번 보인 결과와 자료를 보관한 것은 다릅니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

문서·뷰

데이터 처리와 화면 표시를 분리하는 구조입니다. 분할 뷰와 화면 전환에서 자료의 책임을 정리합니다. 각 뷰가 별도 자료를 가져야 한다고 가정하지 않습니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

DLL·자료 연결

별도 라이브러리와 데이터 공급자를 연결합니다. 호출 규약·플랫폼·연결 결과를 확인해야 합니다. 라이브러리를 읽은 것과 자료 요청이 성공한 것은 별개입니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

동기·비동기 통신

요청과 응답의 진행 방식을 구분합니다. 긴 작업을 UI 동작과 함께 볼 때 필요합니다. 비동기 방식이 오류 처리나 동기화를 자동으로 해결하지는 않습니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인
04

이 과정의 실제 작업 흐름

1~5강은 GUI·핸들·메시지와 SDI 초기화 구조를 읽고 키보드·마우스 반응과 문자 입력·이동을 실습합니다. 6~9강에서는 Dialog와 단위변환, 모달·모달리스, 메뉴·툴바·상태바·다이얼로그바를 연결합니다.

10~15강은 DC의 도형·색·무늬, 비트맵, 리스트·트리 및 다양한 컨트롤과 리본 구성입니다. 16~20강은 문서의 데이터 처리, 뷰 분할·전환, DLL, 데이터베이스 공급자, HTTP 동기·비동기 통신으로 확장합니다.

  1. 프로젝트 구조
  2. 메시지 처리
  3. 대화상자·단위변환
  4. 그리기·컨트롤
  5. 문서·뷰
  6. 외부 자료 연결
05

핵심 구조를 이해하는 방법

메시지 처리는 입력이나 창 상태 변화를 프로그램 동작으로 연결합니다. 문서/뷰 구조에서는 데이터와 표시 책임을 나누어 여러 뷰가 같은 자료를 읽을 수 있게 합니다. 대화상자의 입력 상태와 문서에 저장한 자료를 혼동하지 않아야 화면 전환 이후에도 결과를 설명할 수 있습니다.

06

실무 적용과 결과 확인

7강의 단위변환 프로그램을 복습할 때 입력값·변환 결과·대화상자 상태를 각각 기록해 보세요. 잘못된 입력과 반복 실행의 결과 비교는 추가 복습 방법입니다. 공개 설명만으로 모든 검증 규칙이 구현되어 있다고 단정하지 않습니다.

10~17강에서는 도형을 그린 자료와 뷰에 표시된 결과를 구분해 보세요. 화면 크기 변경·뷰 전환 뒤 결과를 비교하는 점검은 응용 제안입니다. 18~20강 외부 연결에서는 라이브러리 호출·자료 요청·화면 반영의 경계를 살펴봅니다.

07

이 강좌에서 집중할 전문주제

이 과정의 첫 전문 축은 메시지 기반 구조와 두 UI 구성 방식의 연결입니다. 1~9강에서 SDI와 Dialog가 입력을 받는 위치를 비교하면 단순 컨트롤 배치에서 프로그램 구조 분석으로 나아갈 수 있습니다.

두 번째 축은 DC 출력과 문서/뷰의 자료 책임입니다. 10~15강의 그래픽·컨트롤 결과를 16~17강의 데이터 처리·뷰 분할에 연결하세요. 19~20강을 운영 서비스 전체의 설계·보안 범위로 확대하지 않습니다.

08

현재 기술과 강좌 환경의 관계

강좌의 정확한 Visual Studio·MFC 버전은 저장된 공개 커리큘럼으로 확정하지 않습니다. 학습한 UI와 프로젝트 설정을 새 도구에서 사용할 때 빌드 대상과 라이브러리 조건을 먼저 확인합니다.

Microsoft 문서는 MFC 지원이 계속되지만 신규 기능 추가와 문서 갱신은 하지 않는다고 설명합니다. 지원 종료 제품으로 단정하지 않으며 신규 Windows 앱의 도구 선택과 기존 MFC 앱 유지보수 목적을 구분합니다.

09

목적에 맞는 기술 선택과 비교

아래 비교는 목적과 작업 구조를 선택하기 위한 안내입니다. 다른 기술 전체를 본 강좌에서 가르친다는 뜻은 아닙니다.

목적에 맞는 기술 선택과 비교
선택지작업 접근이 강좌와의 관계
MFCC++ 클래스와 메시지·문서/뷰로 Windows UI 구성본 강좌 중심
Win32Windows API를 직접 사용해 UI 동작 구성하위 플랫폼 이해
.NET 데스크톱 UI다른 실행환경과 UI 프레임워크 사용후속 비교 대상
10

기술개념과 알지오 커리큘럼 연결

회차는 공개 커리큘럼의 실제 순서입니다. 실습 후 응용 제안과 현재 기술 참고정보를 강의에서 제공하는 실습으로 해석하지 않습니다.

기술개념과 알지오 커리큘럼 연결
기능·개념무엇인가실무 의미강좌 회차학습 상태
메시지·SDI 구조입력과 초기화 흐름창의 반응 이해1·2·3·4·5강강좌에서 직접 학습
Dialog·단위변환·메뉴UI 입력과 명령작은 도구 구성6·7·8·9강강좌에서 직접 학습
DC·비트맵·컨트롤·리본그래픽 출력과 UI 구성표시 결과 확인10·11·12·13·14·15강강좌에서 직접 학습
문서·뷰자료 처리와 화면 전환책임 분리16·17강강좌에서 직접 학습
DLL·DB·HTTP외부 기능과 자료 연결연결과 결과 구분18·19·20강강좌에서 직접 학습
11

처음 배울 때 자주 생기는 오해

MFC는 C++ 언어인가?

Windows UI 라이브러리입니다. C++ 언어 자체와 구분합니다. 1강에서 도구·클래스·GUI 역할을 나누세요.

SDI와 Dialog는 같은 구조인가?

프로그램 구성 방식이 다릅니다. 2~3강과 6~7강을 비교하세요. 컨트롤이 보인다는 이유만으로 내부 구조가 같다고 보지 않습니다.

모달과 모달리스의 동작은 같나?

다른 창과 상호작용하는 조건이 다릅니다. 7강에서 표시 방식을 구분합니다. 사용자의 작업 흐름을 함께 살펴보세요.

화면에 그리면 데이터도 저장되나?

출력과 데이터 보관은 별도 책임입니다. 10~11강을 16강의 문서 처리와 연결하세요. 표시 결과만으로 저장 성공을 판단하지 않습니다.

비동기 통신이면 UI 문제가 없어지나?

완료와 오류 처리를 별도로 구성해야 합니다. 20강에서 동기와 비동기를 구분합니다. 자료 반영과 화면 갱신 시점도 확인하세요.

MFC가 지원 종료됐나?

공식 문서는 지원이 계속된다고 설명합니다. 신규 기능 추가 중단과 지원 종료는 다릅니다. 새 앱과 기존 앱의 목적을 나누어 도구를 검토하세요.

12

다음 학습 방향

C++ (기초+실무)

C++의 클래스·예외·파일 처리 기반을 보강합니다.

자료 보기 →

C샵 [기초 + 실무까지]

C#과 .NET의 다른 개발 구조를 비교합니다.

자료 보기 →

MFC 관련 과정 비교

입문·실무·심화 과정의 실제 커리큘럼을 목적에 맞게 비교합니다.

자료 보기 →

실습과 복습 계획

새 환경에서 예제를 확인하고 학습 계획을 세우는 방법을 살펴봅니다.

자료 보기 →

기술정보는 Microsoft의 공식자료를 기준으로 검토했으며, 강좌 범위는 MFC강좌의 공개 커리큘럼과 구분했습니다.

공식 기술정보 확인일: 2026-10-05 · 강좌 업데이트일을 의미하지 않습니다.

MFC강좌 MFC강좌
  • MFC강좌

  • 강의구성
  • (20강) 전체 : 11시간 50분|평균 : 35분30초
  • 이용기간/강사
  • 1개월2개월
    알지오 R&D [IT]
  • 증빙가능
  • 수료증, 수강증, 학습진도
  • 수강료
  • 190,000원할인95,000원
?

수강 전 꼭 확인하세요

수강 전 자주 묻는 내용을 간단히 안내드립니다.

Q 초보자도 교재 없이 수강 가능한가요? 프로그램 정보는?
A

네, 영상과 실습자료로 쉽게 학습할 수 있습니다. 알지오는 원격평생교육원으로 프로그램 관련 정보는 제공하지 않습니다.

  • 01.37분 MFC에 대해 알아보기
    GUI, 비주얼스튜디오인터페이스, 클래스, 프로시저, 핸들, 메시지기반구조, 메세지처리
    윈도우프로그래밍 분석, 윈도우시스템, GUI, 핸들, 비주얼스튜디오화면, 메세지기반구조, 윈도우프로시저, 소스코드보기, 기본구조, windows.h, stdio.h, main함수, winapi, 윈도우클래스, 옵션지정, 구조체, 클래스스타일, 프로시저, 클래스데이터, 데이터영역, 인스턴스핸들, 아이콘, 커서핸들, 배경브러쉬, 메뉴이름, 클래스이름, 기본작은아이콘, 프레임윈도우생성, createwindow, 클래스이름, 타이틀문자열, 윈도우스타일, 좌측상단좌표, 너비와높이, 부모/자식핸들, 인스턴스핸들/데이터주소, showwindow, 메시지기반구조, translatemessage, 메시지번역, dispatchmessage, 윈도우출력순서, lresult, callback, wparam/lparam, 메세지의 처리, wm_creat, wm_paint, beginpaint, endpaint, getdc, textout/drawtext, wm_keydown, getclientrect, rect, drawtext, dt_vcenter, rect, szmsg3, postquitmessage, 불필요메세지의 처리, 빌드, 확인, 타이틀바문자열, ws_overlappedwindow, ws_sysmenu, textout, wm_paint
  • 02.32분 SDI기반 프로그램 구조 분석 part1
    프로그램 종류, Initinstance 분석, OLE라이브러리 초기화 함수, RichEdit 사용 함수, 윈도우 클래스, 컨트롤 종류
    프로그램 분석, SDI, MDI, 대화상자기반 프로그램, 싱글도큐먼트, 멀티도큐먼트, SDI 기반 프로그램 구조, App_Class, CMainFrame, Doc, View, MFC, Initinstance, exitinstance, afx_msg void OnAppabout, Initinstance 분석, OLE라이브러리 초기화 함수, RichEdit 사용 함수, Show, CCommandLineInfo, ID_FILE_NEW, exitinstance, 윈도우 클래스 생성, 윈도우 클래스 등록, 윈도우 생성, 윈도우 화면에 보여줌, 윈도우 프로시저를 설정, CObject, CCmdtarget, DECLARE_MESSAGE_MAP(), On wm create, Frame Class, 컨트롤 모음, CToolbar, CStatusbar, Oncreate, LoadToolbar, IDR_MAINFRAME, 상태바, 도킹, PreCreateWindow, OnDraw, ON_Command, 확인
  • 03.28분 SDI기반 프로그램 구조 분석 part2
    윈도우의 크기를 출력하는 기능과 마우스와 키보드를 눌렀을때의 반응을 출력하는 기능에 대해 실습합니다.
    윈도우의 크기를 출력하는기능, 윈도우의 크기가 바뀔때마다 윈도우의 크기가 갱신되어 출력하는기능, 왼쪽 마우스 버턴을 눌렀는지 오른쪽 마우스 버턴을 눌렀는지에 대해 출력하는 기능, 마우스가 이동중인지에 대해 출력하는 기능, 마우스를 드래그 하고 있는지에 대해 알수있는기능, 마우스 왼쪽버튼을 눌렀는지에 대한 여부, 드래그 시작, 드래그 멈춤, 키보드를 눌렀는지에 대해 출력하는 기능, 뷰의 헤더파일, 스트링 아웃텍스 문자열 변수에 대입, 메세지처리 함수에 대한 설명, 매크로함수의 일정한 규칙, 화면 가운데 출력하는 기능, 메시지처리기 함수에서 각각 하는 기능, 인티저항을 어떻게 문자열로 바꿀것인지에 대한 설명, 언더바 티, 화면을 갱신하는 함수, 엘버튼다운, 알버튼다운, 온키다운, 마우스를 드래그하고 있는지 알수있는 기능, 프로그램을 실행시켜서 어디 코드에 해당하는지 알아보는법, 마우스가 이동중인지 출력하는기능, 왼쪽마우스 버튼을 눌렀는지 오른쪽마우스 버튼을 눌렀는지 처리하는부분, 왼쪽마우스를 드래그했는지에 대해서 처리하는 부분, 요구사항 명세서, 윈도우 크기를 아는 함수, 도움말 참조하는법, 클래스 마법사, 왼쪽마우스버튼을 눌렀는지 오른쪽마우스버튼을 눌렀는지에 대한 메세지, 윈도우 메세지
  • 04.31분 메세지처리 개념과 메세지박스의 사용
    메세지처리 개념과 메세지박스의 사용에 대해 공부하고 실습합니다.
    윈도우가 생성될때 혹은 종료될때 출력할 문자열 출력버튼,아이콘, 도움말ID, 윈도우가 생성될때 오는 메세지, 윈도우가 종료될때 오는 메세지, 클래스 위자드 사용방법, AF메세지박스 함수 사용방법, 메세지처리 수정, 함수의 원형, 인포메이션 아이콘, 프로그램 종료, 시계프로그램 설명, 시간을 얻어오는 기능, 매초마다 함수를 호출하는 기능, 왼쪽 마우스를 누르면 시계를 동작 시키는 기능, 시계가 동작중인지 아닌지에 알수있는 함수, 사용자에게 묻는 메세지박스, 시계를 화면 중앙에 출력하는 기능, 셋타이머와 킬타이머, 타이머를 계속 작동 시키는 기능, 타이머를 중지 시키는 기능, 현재시간을 출력할 문자열 변수, 동작중인지 아닌지 아는 변수, 셋타이머 인자, 타이머 동작 변수, 현재시간이 어떻게 됐는지 알아오는 함수, C타임클래스 (도우미클래스)가 하는일, 경과시간 설정, 인벨리데이트함수를 이용해서 화면에 출력 하는 코드, 엘버튼다운과 알버튼다운, 타이머 해제, 뷰클래스가 파괴가 될 때 처리기, 초마다 갱신되는 타이머 프로그램 실행, 왼쪽마우스와 오른쪽마우스 클릭하여 기능확인, 타이머 동작을 멈추는 기능, 다시 타이머를 동작 시키는 기능, 중복된 소스코드, 소스코드를 좀 더 알기 쉽게 작성하는 법
  • 05.32분 문자 입력 및 이동 프로그램
    문자를 입력하고 이동하는 프로그램을 만들어봅니다.
    기능 구현 설명, 문자를 보드로 입력받는 기능, 문자열 저장할 변수, 문자를 문자열 변수에 추가하는 기능, 백스페이스키로 문자 지우기 기능, 문자열 위치 옮김 기능, 페이지 업 다운으로 상하의 문자 위치 이동시키는 기능, HOME키 기능, 문자열 출력 위치 변수, 왼쪽 버튼 클릭후 문자열 이동출력 기능, 오른쪽 버튼 클릭 후 문자열 삭제, 입력 메시지 출력기능, 문자 위치의 기준이 넘어가면 최대값으로 위치 강제기능, 초기 문자열의 위치, 화면의 크기 변수, 화면의 크기에 따라 업데이트하는 기능, 메시지 처리기, WM_CHAR 메시지, WM_KEYDOWN 메시지, WM_LBUTTONDOWN 메시지, WM_RBUTTONDOWN 메시지, WM_SIZE 메시지, 소스코드 분석, 다섯가지 메시지 처리기 확인, 세개 변수 확인, 메시지 처리기 구현 방법 확인, OnDraw 함수, 기능 처리기 확인, OnChar 구현, OnKeyDown 함수, OnSize메시지, OnLButtnDown처리기, OnRButtnDown처리기, 프로그램 실행 해당부분 확인, 문자열 위치 기능 테스트, HOME키 테스트, 경고메시지 체크, 화면의 크기에 따라 업데이트 여부 체크, OnRButtnDown 체크, 간략한 코드의 중요성
  • 06.38분 Dialog 기반의 MFC 프로그램과 컨트롤들
    Dialog 기반의 MFC 프로그램과 여러가지 컨트롤들을 공부하고 실습합니다.
    MFC프로그램소개, SDI(Single Document Interface), MDI(Multi Document Interfac), Dialog Base, Dialog기반의 옵션창, Dialog기반의 리소스, 컨트롤소개, Button, 라디오버튼과 체크박스의 차이점, 라디오버튼 속성창, 라디오버튼 ID지정, Visible, Auto, Caption, Left Text, Multiline, Notify, Right align Text, Static Edge, Transparent, 리소스가 화면에 출력이 되면 미리 알수있는 방법, 리스트박스 삽입, 체크박스 컨트롤, 에디트 박스, 컨트롤들과 프로그램의 대화, 컨트롤과 대화를 할 수 있는 방법, 해당하는 ID와 컨트롤 변수를 연동해서, 간혹 가다가 짧게 대화가 필요할 때, 값 변수를 연동해서 대화, 컨트롤 변수지정, 값변수와 컨트롤변수 구분, 데이터 추가, 메세지 처리기, 소스코드를 보면서 확인, 값 변수와 컨트롤 변수를 연동하는 부분, 이벤트 처리기 추가, 프로그램 시작점, 함수명 작성, 업데이트 콤보박스의 기능, 체크박스 업데이트데이타 함수, m_b Check1의 값을 읽어오기, 콤보박스에 추가하는 부분, Delete, 리스트박스 추가, 실행하면서 보기
  • 07.31분 Dialog 기반의 MFC 프로그램과 단위변환 프로그램
    Dialog 기반의 프로그램과 단위변환 프로그램 작성해보고 다이알로그의 화면 출력 방법인 모달과 모달리스(Modal, Modeless)에 대해 알아봅니다.
    dialog 기반의 프로그램과 단위 변환 프로그램, 리소스 보기, 단위 변환 프로그램 만들기, dialog 화면에 출력하는 방법, app클래스가 dialog 띄우는 방법, 모달리스 형식으로 dialog 띄우기, 두모달 형식과 모달리스 형식의 차이점, 두모달 형식과 모달리스 형식 사용 시기, 두모달 형식으로 띄우는 이유, 변환 프로그램 생성시 필요기능, 변환 공식, 화면창 감추기 추가, 코드 보기, 이벤트 처리기, m_nRadioSelect 변수, group 속성, 컨트롤 값 변수 연동, combobox_contens, m_nRadioSelect 컨텐츠를 사용 했을 경우, 변환하기 버튼 클릭했을 경우, unit_convert_table 보기, convertUnit 함수, index에 들어오는 값 확인, 단위 예 보기, unit_convert_table 값 보기, 변환단위표 선택시 다이올로그 테이블 띄우기, 토글 기능 구현, iswindowvisible 함수, movewindow 함수, getwindowrect, 확인, 단위변환 프로그램 이동시 변환 단위표 위치 고정, 처리기 코드 추가, 에러가 뜨는 이유, 확인, 단위변환 프로그램 이동, 현재값 변경시 자동으로 값 변환하기, 값 가져오기, convertunit 함수 호출, 확인
  • 08.37분 SDI 기반의 MFC 프로젝트 part1
    메뉴, 툴바, 상태바컨트롤, 단축키
    메뉴 보기, 툴바, 메뉴아이콘 보기, 상태바 컨트롤, 단축키, 프로그램 생성 기능 정리, 리소스 뷰-accelerator, 단축키 속성, ID_MENU_LINE, Prompt, caption, separator, 툴바 아이콘 속성, IDR_POPUP_EDIT, 풀다운 메뉴에 새 메뉴 추가 기능, 메시지 처리기 기능, 메뉴에 단축키 적용 기능, 팝업 메뉴 추가 기능, OnContextMenu, showPopupMenu, 새로운 툴바 생성 기능, wndToolBar, 툴바 버튼 보기, ui 업데이트, 상태바에 문자열 추가 기능, setIndicators, SetPaneInfo, OnMouseMove, 캐스팅 설명, 마우스 좌표 설정, 툴바 상태바 변경, 프로젝트 보기, CList, 직선 그리기 선택, 직선 prompt 보기, 팝업 메뉴 테스트, 마우스 위치 확인
  • 09.31분 SDI 기반의 MFC 프로젝트 part2
    다이얼로그바 컨트롤에 대해 공부하고 실습합니다.
    다이얼로그바 컨트롤, 다이얼로그바 컨트롤 사용 구분, 피쳐팩 이후 다이얼로바 컨트롤 사용 금지 이유, 다이얼로그 리소스 보기, 다이얼로그바 사용에 필요한 기능 알아보기, 메인 프레임 보기, 다이얼로그바 생성, 도킹 가능 코드 입력, 계산기 버튼 설정, 백스페이스 설정, 소스코드 보기, ButtonProcess, 아이콘 추가, pFrame, 인자값 보기, SetDlgItemInt, Invalidate 함수 호출, 프로젝트 속성 보기, 계산 기능 추가, 나눗셈 보기, try catch 문으로 예외처리, 인티저 값 보기, clear, 화면 보기, 리소스 보기, 숫자 입력, 계산 결과 초기화, 예외처리, 숫자 표시 테스트, 프로그램 변경, 확인, 추가 기능 테스트, 다이얼로그바 파괴 확인
  • 10.38분 Device Context와 무늬에 대한 기능 추가
    DC에 대해 학습하고, 직선그리기, 원그리기, 다각형그리기, 선색상면색상, 무늬에 대한 기능을 추가하는 작업을 진행합니다.
    Device Context에 대해 알아보기, 펜 속성과 브러쉬 속성, 브러쉬 종류 보기, selectObject 함수, 리턴 값, 그리기, MoveTo, LineTo 함수, Elipse 함수, Polyline, Polygon 함수, Polygon 함수 사용 예, Rectangle 함수, 직선 그리기, 마우스 클릭 변수값 입력, 시작점과 끝점 설정, 다른 영역에서 dc 가 필요할 경우, 확인, 그리기 모드 변경, 확인, 화면 유지하기, 원 그리기, Elipse 함수 입력, 확인, 다각형 그리기, 다각형 생성시 생각해야 할 점, Polygon 함수 입력, m_bFirstLButtonDown, 마우스 무브 처리, RButtonDown 설정, 확인, 다각형 그리기, 선 색 변경, 색상 입력, 무늬 삽입, 선과 색상 선택된 부분 코드 보기, CColorDialog, hatch styles 보기, 선 색상 변경, 원 그리고 무늬 넣기, 펜 두께 조절, 확인, Pen Styles, 펜 스타일이 보이지 않는 이유, 사용자가 지정한 기준이 모호할 경우, 선의 굵기가 굵은 경우, 선의 두께와 간격 조절하고 싶을 경우, ClipCursor, 원 그리기, setcapture 이용, 확인
  • 11.38분 비트맵(Bitmap)
    비트맵에 대해 공부하고 실습합니다.
    비트맵, 기본적인 비트맵 화면에 출력하기, c bitmap 클래스, bitblt 함수, createCompatibleDC, 비트맵 확대,축소, 비트맵 투명도 조절 함수, Alpha 채널, 프로그램 기능 추가하기, 메뉴 처리기 처리, 화면에 그리기, 비트맵 리소스 추가, 새로 만들어진 DC에 그리기, 비트맵 사이즈 알아오기, 비트맵 감소, 비트맵 투명하게 하기, Blendfunction, 옛날 비트맵으로 돌려주기, 확인, 투명도 테스트, gdiplus 라이브러리, 라이브러리 사용을 위해 필요한 조건, .lib 파일, 해상도 개념, 더블버퍼, 더블버퍼링이 필요한 이유, 더블버퍼링 개념 설명, 더블버퍼 개념 적용, 네모, 원, gdiplus 그리기 확인, 펜 두깨 받기, 버튼 업을 했을 경우, 반지름 계산 함수, sqrt, ondraw 함수 보기, 비트맵 지정, drawRectangle, intersectcliprect, drawline 함수로 선 그리기, delete dc, 해상도 설정
  • 12.38분 리스트뷰 컨트롤과 트리 컨트롤
    리스트뷰 컨트롤, 트리 컨트롤에 대해 학습하고 실습합니다.
    리스트뷰 컨트롤과 트리 컨트롤, 예제 보기, 프로그램 생성, 옵션에 따른 리스트 형태 바꾸기, 리스트 형태 보기, 추가에 대한 기능, 예외처리, LV_ITEM, 리스트 뷰에 대한 항목 추가, mask, or 연산자, 포맷, subItem, SetExtendedStyle, 추가하는 부분 보기, Item, InsertItem, 버튼 리셋, 수정, 항목값 보기, 모든 항목 수정, 삭제, 값을 바꾸는 이유, 예를 들어보기, 항목 보기, GetWindowLong, not 연산자, 테스트, 코드 확인, -1을 한 이유, 각 항목 초기화 코드, 리스트 보기 각 항목 스타일 변경, 트리 컨트롤, 트리란?, 공용문서, 문서를 삭제 할 경우, 트리 컨트롤에 대해 알아보기, 추가 항목 보기, 구조체 보기, expand, 수정, 삭제, c++ 언어 추가, 확인, 여러개의 항목 추가하기, 나중에 루트 노드 추가하기, 이벤트 처리기 추가, 확인
  • 13.39분 그밖의 다양한 컨트롤 part1
    Picture Control, Slide Control, Spin Control, Progress Control, Tab Control, IP Address Control, Date Time Picker
    도구상자 보기, 첫번째 예제, 픽쳐 컨트롤, 탭 컨트롤, 슬라이드 컨트롤, 스핀 컨트롤 속성 보기, 탭 순서, 소스 보기, 컨트롤 확인, SelectObject, OnSelchangeTabSelection, 슬라이드 컨트롤 보기, 체인지, 스핀 컨트롤 보기, spinsize, fcolor, 탭 컨트롤 초기화, insertitem, showControls, 비트맵 가져오기, 브러시, 슬라이드 바, 스핀 컨트롤 처리기, 실행 후 확인, 크기 조정, 색 슬라이드 조정, 리소스 보기, 코드 보기, ConvertFromIP, 값들에 대한 변수 초기화, 이니셜 다이얼로그 바 보기, OnClickedButton, setTimer, 설치한 타이머에만 작업하기, 서머리 포맷, convertFromIP, C Date Time 컨트롤 처리, MSDN 보기, MakeSummary, 확인, 데이터 전송, 처리 후 재 확인, Date Time Picker 컨트롤, %A, %B, %d
  • 14.38분 그밖의 다양한 컨트롤 part2
    MFC ColorButton Control/MFC FontComboBox Control/MFC VSListBox Control/MFC PropertyGrid Control
    도구상자 보기, MFC ColorButton Control, 항목 전경, MFC VSListBox Control, MFC FontComboBox Control, MFC PropertyGrid Control, 속성 보기, 리소스 미리 보기, 코드 보기, MFC ColorButton 설정, enableAutomaticButton, MFC FontComboBox 설정, namecard, 메세지 처리, 클래스 구현, 메세 지 맵 처리, 표준 액션 오버라이드 보기, 네임카드 코드 생성, 일반 리스트 박스와의 차이점, moveWindowTo, Propertygridctrl 보기, 네임카드 속성에 들어갈 항목 설정, 생성자를 통한 값 초기화, DotNet 스타일, 신상 정보 부분 설정, 속성 확인, 값을 이용한 아이템 추가, 콤보박스 값 만들기, 다른 프로포티 생성, PropertygridFontlProperty, 기타란, 명함 그려주기, 네임카드 새로 추가, 배경 그리기, 폰트 생성, 연락처 부분 설정, DeletNameCard, DeletNameCard 작동, 메모리 복사, 주의할점, 자료구조 이용, 확인, 이름 입력, 텍스트 색상, 배경처리
  • 15.40분 리본 컨트롤 (Ribbon Control)
    리본바를 생성하고 상태 표시줄, 커스텀 객체, 컬러 버튼, 줌 기능, 제어점, 텍스트, 스타일을 설정합니다.
    Ribbon Control, 파워포인트 보기, 다이얼로그와 차이점, 리본 삽입, 이미지 설정, 리본 컨트롤 비교, 버튼 배치, 패널 이름 변경, image index 설정, 버튼 삽입, image index 설정, 속성 보기, 작성한 리본 살펴보기, 커스텀 객체, 슬라이드 컨트롤, 제어점, 글자크기, 스타일 기능, 소스 코드 보기, 리본, 상태 바 생성 확인, 시스템에 기본적으로 제공되어있는 값 가져오기, FindByID, 폰트 정보 가져오기, 텍스트 기본 크기 지정, 입력 부분 설정, 틀 만들기, 값 초기화 시키는 법, 현재 상태 알아보기, 상태 바 추가, 도킹 모드, 스타일 지정, ButtonEraser, edit text, wtoi 함수, ButtonLinecolor, 포지션 값 설정, CheckBox, ID Check Point, 직선 설정, 그리기 모드, clientDC 이용, 화면 확인, 스타일 설정, 텍스트 입력, 논리단위와 일반단위 적용, 확인, 직선 그리기, 사각형 그리기, 선 색 적용, 확대 축소, 퀵 메뉴에 추가하기, 버그가 발생할 경우
  • 16.38분 도큐먼트 클래스
    도큐먼트 클래스 이용하는 방법과 도큐먼트 클래스에서 데이터 처리하는 방법에 대해 알아봅니다
    데이터 처리 방법, 데이터란?, 예제, 파일 처리, ini 파일, 2진 파일, 2진 파일로 저장 시 장점, 예제, 소스 보기, trimright, 함수를 모를 경우, 콤마 지움 표시, 왼쪽 버튼 클릭해 다이얼로그 띄우기, 바뀐 부분 보기, 실행, 저장하고 불러오기 설정, 직렬화, 동작되는 과정 보기, 불러오기, 값이 바뀌지 않은 이유, 값 수정후 저장하기, 정보 확인, 새 프로젝트 열기, 프로그램 설명, 원하는 기능 구현하기, 선언한 값 연동 보기, 변수 뷰에서 보기, 에러가 뜨는 이유, friend 키워드, 변수 선언, 선언된 부분 확인, 컴파일 보기, 에러 수정, carchive 참조형 리턴하는 이유, 참조형이 아닐 경우, 객체지향적인 설계, 값 불러오기
  • 17.36분 뷰 분할과 여러개의 뷰 변경
    화면뷰 영역 나누기 기능과, 버튼을 이용한 뷰 화면 전환 방법을 알아봅니다
    화면뷰 영역 나누기 기능 알아보기, 비쥬얼 스튜디오 보기, 소스파일 열기, csplitterwnd 클래스, 다이얼로그 보기, m_wndsplitter 변수 선언, 윈도우 분할 처리, 소스코드 확인, 윈도우 창 배열 만들기, createView 해주기, pcontext, CFormView, 탐색기 뷰 보기, CPractice10_3View, 리스트뷰 화면에 출력하는 코드, 확인, 값 수정, m_wndsplitter.getpane, 버튼을 이용한 화면 전환, 새 솔루션 열기, 뷰 보기, 첫번째 뷰 코드 보기, 소스코드 확인, 세컨드 뷰 확인, 두번째 뷰를 처음 만들 경우, OnInitialUpdate 함수, 다이얼로그 컨트롤 ID값 지정, 첫번째 뷰 함수 보기, 첫번째 뷰가 null인지에 대해 체크 안하는 이유, 디버깅 기법, 컴파일, 도큐먼트 확인, 컨트롤 역할을 하는 뷰일 경우, CRichEditView
  • 18.37분 DLL(Dynamic Linking Library)
    DLL(Dynamic Linking Library)에 대해 학습합니다.
    DLL, textOut 호출 방법, .lib 파일, 동적의 의미 링크 설명, 클래스의 존재, cpp파일이 없는 이유, 함수에 대해 DLL호출, DLL을 만들 수 있는 종류, 메인함수, dll 메인에서 발생하는 4가지의 메시지, dll 작성 방법과 호출 방법, 프로젝트 2개 로드, 속성 확인, 대상 확장명, 구성 형식, 링커-입력-모듈 정의 파일, 새 프로젝트, MFC DLL, dll로 내보낼 함수 calender살펴보기, extern c라는 문자열, c스타일 함수, 인자의 개수와 타입이 다른 형식, declspec-dll을 내보내는 함수, dllimport, 일반 함수 작성과 똑같이 작성, 6곱하기 7행렬에 저장, 포인터, 배열의 이름은 배열의 시작점과 같은 부분, 배열의 이름을 통해서도 접근 가능, def파일 확인, exports, DLL호출, 컴파일 하면 .dll과 .lib파일 생성, 2개의 파일 복사, 사용 방법, calender함수 호출, dll을 프로그램에 링크 하는 방법, 속성-링커-입력-추가 종속성, 명시적 방법, 코드 실행, dll을 묵시적인 방법으로 호출하기, loadlibrary함수 사용, GetProcAddress, 함수 포인터 리턴, 예제 코드 컴파일, 포인터 타입을 가지고 함수 포인터 변수 선언, freelibrary함수 호출, 컴파일 확인, 클래스를 dll화 시키는 방법, AFX_EXT_CLASS, dllmain 확인, 확장 dll을 초기화 하는 코드, dwReason, 프로젝트 속성 확인, jumin.h파일 가져오기, 헤더파일 include, 각각 dll로 호출되는 것 확인
  • 19.38분 데이터베이스
    데이터베이스 관리, 데이터베이스의 서비스 제공자, 데이터 주고받는 방법에 대해 학습합니다.
    데이터베이스, 예제-학생관리 정보 시스템, 데이터의 양이 많을 경우, 많은 양의 자료를 효율적으로 관리, 데이터베이스의 여러가지 서비스 제공자들, db를 어플리케이션에서 사용할 경우, web or application, ODBC, SQL 설명, OLE DB, ADO, 여러가지가 존재하는 이유, OLE DB를 가지고 SQL data처리, access 프로그램, 디자인보기-저장, card 테이블 열기, 5개의 데이터 입력 확인, dialog확인, toolbar확인, dataSet이라는 클래스, 연결방법-Session 필요, 주고 받을 때 사용하는 명령 Query, Command, CSession이라는 클래스 변수 선언, 모든 데이터를 string으로 가져오기, dbSession.Close, 데이터베이스 제공자 설정, dataSource클래스 필요, CoInitialize함수를 호출하지 않을 경우, query를 던지는 함수, command를 open할 때, 데이터소스를 이용해 데이터 주고받기, GetTotalRecordCount가져오기, moveNext, totalcount값을 string으로 가져오기, 데이터베이스는 1번부터 시작인데 2번부터 가져온 이유, 실행 확인, 다음을 눌렀을 때 어떤 데이터베이스가 호출되는지 확인, 추가하기, 추가에 대한 query확인, insert into, 수정하기-update, update에서 중요한점-where조건문, 삭제하기-delete, 일련번호, 검색하기, 항목마다 검색이될 수 있도록 검색 문자열 입력, 전체 레코드 개수 계산, 수정하기 확인, 삭제하기 확인, 추가했을 경우 일련번호 확인, 링크 살리기
  • 20.33분 네트워크 프로그래밍
    http프로토콜, Sync 동기화 모드, Async 비동기화 모드 등 네이퉈크 프로그래밍에 대해 학습합니다.
    네트워크 프로그래밍, http프로토콜, ip를 통해 통신 주고받기, Port, a와 b가 통신을할 때 필요한 매개체, Socket, Server와 Client, Server가 Socket을 생성, ip와 port번호 지정-bind, Listen, Sync 동기화 모드, Async 비동기화 모드, Connect 함수 호출, Accept, 채팅프로그램 만들기, server에 대한 socket처리, Accept함수 호출, server를 눌렀을 때 ip가 나오고 connect, 서버일 경우, socket을 만드는 과정, create함수 내부 확인, client누르고 ip입력 후 connect, 서버 ip확인, 입력받은 ip와 port번호를 이용해 connect호출, 서버에 onAccept함수 호출, 변수명 connectedSocket, 채팅하는 코드, sendData내용 확인, clientSock에 onReceive함수 처리기 구현, temp와 sizeof, receive데이터를 260이상 보낼 경우, 패킷 구성, 헤더와 내용, socket을 통해 통신, 프로그램 실행, server-open, ip주소를 가져오는 코드, client-서버주소 입력-connect, 데이터 send, 외부 컴퓨터의 프로그램 실행, server-open, client-서버 입력-connect, ip가 다른 이유, 동일한 ip, 고정 ip와 유동 ip, 공유기에대해 처리하지 않아 발생하는 현상, 공유기를 사용하는 컴퓨터 server-open, client가 ip입력후 connect, 공유기로 인해 통신 불가, 네트워크 프로그래밍의 문제점

강의목록 다운로드                        1:1 강의 질문&답변






도움이 필요하신가요?
💬
알지오 학습·수강 도우미
운영진이 확인한 안내를 자세히 보고, 필요하면 바로 상담하세요.
상담 상태 확인 중