컴퓨터과학[2-1]/knou_[2-1]Visual_C20 Visual C++ 8강 MFC 프레임 워크 Visual C++ 8강 MFC 프레임 워크 윈도우 응용프로그램들이 일관된 사용자 인터페이스를 가지고 있기 때문에 대부분의 프로그램에 공통적인 부분을 매번 일일이 코딩하는 것은 비효율이다. 그래서 MFC (Microsoft Foundation Class)는 대부분의 프로그램이 공통적으로 수행하는 기능들을 미리 구현하여 클래스 라이브러리로 제공하고 있는데 이를 프로그램의 뼈대, 즉 응용 프로그램 프레임 워크 (Application Framework) 라고 한다. 약어로 AFX라고 한다. 프로그램의 뼈대는 대부분의 프로그램에 공통적으로 필요한 기능들이 들어가 있기 때문에 이를 이용하면 쉽게 프로그램의 기본 틀을 생성할 수 있다. 메인 프레임은 윈도우 외곽 경계를 담당하면서 메뉴와 툴바, 상태바를 가지고 있다.. 2015. 1. 24. Visual C++ 7강 MFC SDI 프로그램의 응용 C++ 7강 MFC SDI 프로그램의 응용 MFC를 이용하여 차일드 윈도우를 추가하는 것은 API 프로그래밍보다 더 간단하다. 헤더파일 SDIView.h 에서 CChildWnd 클래스 객체 m_Wnd02 를 하나 더 추가하고 구현파일 SDIView.cpp 에서 멤버함수 m_Wnd01.Create( )를 추가하면 차일드 윈도우가 생성된다. CChildWnd 클래스로 생성한 윈도우는 문자열 “차일드 윈도우 입니다"를 출력하기 때문에, 두 개의 차일드 윈도우 모두 클라이언트 영역에 같은 문자열을 출력하는 것을 볼 수 있다. 그러나, 윈도우를 생성할 때, 캡션에 출력되는 문자열을 다르게 지정했기 때문에, 각기 다른 캡션이 나타나는 것을 볼 수 있다. MFC 는 컨트롤 클래스를 제공한다. 즉, 버튼이나 콤보 박스.. 2015. 1. 24. Visual C++ 6강 MFC SDI 프로그래밍 Visual C++ 6강 MFC SDI 프로그래밍 여러 개의 작업윈도우가 떠있는 MDI와는 달리 단지 하나의 작업 윈도우만을 제공하는 프로그램을 SDI 프로그램이라고 한다. 하나의 뷰 윈도우를 가지고 있기 때문에 SDI(Single Document Interface) 프로그램이라고 한다. MFC는 윈도우 프로그래밍을 할 수 있도록 winAPI를 기능적으로 구분해서 C++클래스로 작성한 클래스 라이브러리이다. MFC SDI프로그램은 메인 프레임 윈도우가 최상위 윈도우이고, 차일드 윈도우로 하나의 뷰(View) 윈도우를 가지고 있다. MFC는 윈도우의 모든 기능을 클래스로 구현해서 제공하고 있다. 여기에서 메인프레임 윈도우를 나타내는 클래스는 CMainFrame이고, 뷰 윈도우를 나타내는 클래스는 CSDIV.. 2015. 1. 24. Visual C++ 5강 디버깅과 클래스 Visual C++ 5강 디버깅과 클래스 프로그램의 오류(bug)를 발견하고 그 원인을 수정(Debug)하는 작업 디버깅(Debugging)이라고 한다. 프로그램을 개발하는 경우 디버그 모드와 릴리즈 모드가 있다. 릴리즈 모드는 최종적으로 프로그램을 배포하기 위하여 개발하는 경우 사용한다. 따라서 디버그 모드로 프로그램을 개발하면 디버그 정보를 포함하고 있으므로 상대적으로 프로그램 크기가 크다. 디버깅의 출력함수로 OutputDebugString() 을 사용하면 디버그 모드로 실행중에 output 윈도우를 통해서 문자열을 출력할 수 있다. 윈도우 프로그램를 실행하면 다음과 같은 순서로 작업을 한다. ① 메인윈도우 클래스 등록 ② 차일드 윈도우 클래스 등록 ③ 메인윈도우 생성(CreateWindow) ④ .. 2015. 1. 24. Visual C++ 4강 차일드 윈도우와 버튼 컨트롤 Visual C++ 4강 차일드 윈도우와 버튼 컨트롤 차일드 윈도우에는 두 가지 종류가 있다. 버튼이나 콤보 박스와 같은 컨트롤 형태의 차일드 윈도우와 일반 윈도우 형태의 차일드 윈도우가 있다. 메인 윈도우가 생성 될 때 즉, WM_CREATE메시지가 발생했을 때 만들어 준다. 따라서 모두 메인 윈도우의 윈도우 프로시저 함수에서 WM_CREATE 메시지를 처리하는 곳에서 정의한다. 일반 윈도우 형태의 차일드 윈도우를 생성 할 때는 메인 윈도우를 생성하는 것과 마찬가지로 등록(RegisterClass)하고 생성(CreateWindow)하고 보여주는(ShowWindow) 함수들을 함수를 사용해서 윈도우를 생성한다. 차일드 윈도우에서 발생되는 메시지를 처리하기 위한 차일드 윈도우 프로시저 함수(콜백함수)를 정.. 2015. 1. 24. Visual C++ 3강 소스코드 살펴보기 Visual C++ 3강 소스코드 살펴보기 WinMain 함수의 본체는 윈도우 클래스(WNDCLASS) 정의 및 속성 입력, 윈도우 클래스 등록(RegisterClass), 윈도우 객체 생성(CreateWindow), 화면에 윈도우 보이기(ShowWindo) 그리고 지속적으로 윈도우를 화면에 나타내기 위한 Message Loop (while(GetMessage(&Message,0,0,0)) )등으로 구성된다. 윈도우 클래스 WndClass의 각 멤버 의미는 다음과 같다. style : 윈도우의 스타일을 정의한다. lpfnWndProc : 윈도우의 메시지 핸들러 함수를 지정한다. cbClsExtra, cbWndExtra : 일종의 예약 영역이다. hInstance : 이 윈도우 클래스를 사용하는 프로그램의.. 2015. 1. 10. 이전 1 2 3 4 다음