MFC 응용 프로그램 구조 두 개의 윈도우로 구성된 일반적인 MFC 프로그램 프레임 윈도우

Slides:



Advertisements
Similar presentations
Visual C++ 구성. DevStudio –Visual C++ 를 실행시키면 전면에 뜨는 프로그램. – 텍스트에디터, 리소스에디터, 디버거 등 모든 기능 총괄 MFC(Microsoft Foundation Class) – 윈도우 프로그램을 만드는데 필요한 거의 모든.
Advertisements

CH5 디버그를 해보자 디버그 디버거 : 실행중인 응용 프로그램을 지정한 장소에서 정지하고, 그 시 점에서 변수, 메모리, 콜 스택의 내용을 참조하는것이 가능 Build -> Start Debug -> Go.
Visual C++ Programming Document/View Architecture Department of Digital Contents Sang Il Park.
CH1 개발 효율이 높은 프로그램 구조
프로젝트 보고서 학과 : 임학과 학번 : 성명 : 조성환 Windows 프로그래밍.
Visual C++ Programming Document/View Architecture
컴퓨터 공학 설계 및 실험 I MFC programming
아름다운 이들의 행복한 길음안나의 집.
메뉴 용어 (1/6) 최상위 메뉴 = 메뉴 바 최상위 메뉴 = 메뉴 바.
2016년도 제2차 서비스 자격시험 고사장 안내 시험종목: 병원서비스코디네이터, 서비스경영컨설턴트,
Chapter 02. C언어 기반의 C++ 박 종 혁 교수 UCS Lab SeoulTech Tel:
03장 영상처리를 위한 Visual C++ 디지털 영상 파일 포맷 MFC 응용 프로그램 마법사를 이용한 MFC 프로젝트 작성
명품 C++ 8장 상속.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
윈도우 운영체제와 윈도우 응용 프로그램의 특징을 이해한다.
C++ Espresso 제1장 기초 사항.
Lecture 2 MFC and Application Frameworks
Visual C++ Programming Dialog Box
Visual C++ Programming Document/View Architecture 3
다이얼로그 박스와 컨트롤 컴퓨터 계측 및 실습.
Lab 3 Guide: 교재 4장 대화상자 예제. - 프로파일 입력 ( 쪽)
MFC를 이용한 네트워크게임 졸업 프로젝트 담당 교수 : 김재형 교수님 김 성준 김 민기.
MFC 발전 과정과 주요 특징을 개괄적으로 이해한다.
Department of Digital Contents Sang Il Park
실전 프로젝트 2 : 숫자야구 숫자 야구를 구현해보자.
윤 홍 란 MFC 기초 윤 홍 란
Windows Programming 시작하기
태양계 시뮬레이션 팀 명: 복학생 강유진 박지혜.
졸업작품발표 타자 연습 프로그램 By.. Eunju 담당 교수 : 이형원 교수님 학번 : 이름 : 김은주.
Department of Digital Contents Sang Il Park
MFC Application Frameworks (AFX)
MFC 프로그래밍에 관한 팁 / Keyboard / Timer
MFC 프로그래밍에 관한 팁 / Keyboard
Visual C++ Programming Keyboard & Timer
Visual C++ Programming Output and File
Visual C++ Programming Common Controls
5장. 마우스와 키보드.
Chapter 05. 클래스 완성. chapter 05. 클래스 완성 01. 복사 생성자 복사 생성(Copy Construction) 생성될 때 자신과 같은 타입의 객체를 변수로 받아, 이 객체와 같은 값을 갖는 새로운 객체를 생성하는 것 명시적인 생성 과정뿐만.
DataScience Lab. 박사과정 김희찬 (월)
C ++ 프로그래밍 시작.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수.
주소록 프로그램.
Visual C++ Programming Menu
프로그래밍2 및 실습 C언어 기반의 C++ 2.
스택(Stack) 김진수
Visual C++ Programming MFC Programming의 이해
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
Windows Programming 시작하기
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
강남 DataBinding 스타일 Windows 8 앱개발자라면 꼭 알아야할 개발자가 알아야할 Binding.
DataScience Lab. 박사과정 김희찬 (월)
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
WAP Java Seminar
가상함수와 추상 클래스.
제 12장. 사용자 정의형으로서의 클래스 학기 프로그래밍언어및실습 (C++).
Lab 9 Guide: 인터넷 프로그래밍 예제 * 일대일 채팅 프로그램 (교재 27장, 쪽)
Lua script cpp서 사용하기 Lua 버전
○ 직 무 기 술 서 드라이빙센터 매니저 1. 주요 업무 2. 자격요건 직 무 드라이빙센터 매니저 근무형태
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
제 7장 이벤트.
Windows 프로그래밍 환경 및 MFC의 구조
C# 10장. 참조형.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
2015년 2학년 1반.
6월 1주 주간메뉴표 NEW 엄마손 조식 쉐프 삼촌 중식 참새 방앗간 석식 ◎원산지 안내 : 쌀(국내산)
컴퓨터 계측 및 실습 C++ 기초 영남대학교 기계공학부.
1 2 4 &
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 02. C언어 기반의 C++ 2.
발 표 자 : 7조 손 창 국 윤 오 성, 박 진 완 객체 지향 프로그래밍 C++
MFC 기초 윈도우 응용프로그램 개발 간략한 역사 Microsoft Foundation Classes
Presentation transcript:

MFC 응용 프로그램 구조 두 개의 윈도우로 구성된 일반적인 MFC 프로그램 프레임 윈도우 뷰: 프레임 윈도우에 종속하며 클라이언트 영역에 위치

MFC 응용 프로그램 생성 (1) 프로젝트 종류 선택

MFC 응용 프로그램 생성 (2) MFC 응용프로그램 마법사 1단계

MFC 응용 프로그램 생성 (3) MFC 응용프로그램 마법사 2단계

MFC 응용 프로그램 생성 (4) MFC 응용프로그램 마법사 3단계

MFC 응용 프로그램 생성 (5) MFC 응용프로그램 마법사 4단계

MFC 응용 프로그램 생성 (6) MFC 응용프로그램 마법사 5단계

MFC 응용 프로그램 생성 (7)

주요 클래스 응용 프로그램 클래스 (CSimpleApp) 프레임 윈도우 클래스 (CMainFrame) 뷰 클래스 (CChildView) 프레임 윈도우 생성 메시지 루프 제공 프레임 윈도우 기능 제공 뷰 생성 뷰 기능 제공

주요 클래스 기능 클래스별 핵심 사항 요약 클래스 종류 베이스 클래스 이름 핵심 함수 - 주 역할 응용 프로그램 클래스 CWinApp InitInstance() - 프레임 윈도우를 생성한다. Run() - 메시지 루프를 제공한다. 프레임 윈도우 CFrameWnd OnCreate() - 뷰를 생성한다. 뷰 클래스 CWnd OnPaint() - 화면에 출력한다.

생성된 코드 (Simple.h, Simple.cpp) class CSimpleApp : public CWinApp { public: CSimpleApp(); virtual BOOL InitInstance(); afx_msg void OnAppAbout(); DECLARE_MESSAGE_MAP() }; // Simple.cpp CSimpleApp theApp; BOOL CSimpleApp::InitInstance() { … CWinApp::InitInstance(); CMainFrame* pFrame = new CMainFrame; if (!pFrame) return FALSE; m_pMainWnd = pFrame; return TRUE; }

생성된 코드 (MainFrm.h, MainFrm.cpp) class CMainFrame : public CFrameWnd { … protected: CStatusBar m_wndStatusBar; // 컨트롤 모음이 포함된 멤버입니다. CToolBar m_wndToolBar; CChildView m_wndView; // 생성된 메시지 맵 함수 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnSetFocus(CWnd *pOldWnd); }; // MainFrm.cpp int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { … // 프레임의 클라이언트 영역을 차지하는 뷰를 만듭니다. if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL)) { TRACE0("뷰 창을 만들지 못했습니다.\n"); return -1; } return 0; void CMainFrame::OnSetFocus(CWnd *) { // 뷰 창으로 포커스를 이동합니다. m_wndView.SetFocus();

생성된 코드 (ChildView.h, ChildView.cpp) class CChildView : public CWnd { public: CChildView(); virtual ~CChildView(); protected: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); // 생성된 메시지 맵 함수 afx_msg void OnPaint(); DECLARE_MESSAGE_MAP() }; // ChildView.cpp void CChildView::OnPaint() { CPaintDC dc(this); // 그리기를 위한 디바이스 컨텍스트 // TODO: 여기에 메시지 처리기 코드를 추가합니다. dc.TextOutW(100, 100, CString("안녕하세요.")); // 그리기 메시지에 대해서는 CWnd::OnPaint()를 호출하지 마십시오. }

Simple 실행 화면